home *** CD-ROM | disk | FTP | other *** search
/ Aminet 1 (Walnut Creek) / Aminet - June 1993 [Walnut Creek].iso / usenet / sources / volume89 / iff / ifftops.1 < prev   
Text File  |  1989-03-08  |  64KB  |  1,556 lines

  1. Path: xanth!ames!mailrus!ulowell!page
  2. From: page@swan.ulowell.edu (Bob Page)
  3. Newsgroups: comp.sources.amiga
  4. Subject: v89i035:  ifftops - iff to postscript converter
  5. Message-ID: <12052@swan.ulowell.edu>
  6. Date: 8 Mar 89 03:56:37 GMT
  7. Organization: University of Lowell, Computer Science Dept.
  8. Lines: 1545
  9. Approved: page@swan.ulowell.edu
  10.  
  11. Submitted-by: funding@metropolis.super.org (LeRoy Fundingsland)
  12. Posting-number: Volume 89, Issue 35
  13. Archive-name: iff/ifftops.1
  14.  
  15. [uuencoded executable included.  ..Bob]
  16.  
  17. #    This is a shell archive.
  18. #    Remove everything above and including the cut line.
  19. #    Then run the rest of the file through sh.
  20. #----cut here-----cut here-----cut here-----cut here----#
  21. #!/bin/sh
  22. # shar:    Shell Archiver
  23. #    Run the following text with /bin/sh to create:
  24. #    ifftops.c
  25. #    ifftops.n
  26. #    ifftops.uu
  27. # This archive created: Tue Mar  7 22:52:31 1989
  28. cat << \SHAR_EOF > ifftops.c
  29. /* IFFTOPS - ILBM IFF format file to PostScript translator.    */
  30. /*    Version 3.0 - LeRoy Fundingsland - 12/12/88 - SRC    */
  31. /*                                */
  32. /*    This code has been compiled and tested under both Sun    */
  33. /*    UNIX (V3.5) and Commodore AmigaDOS (V1.2). On the    */
  34. /*    Amiga the Lattice 4.0 compiler was used ("lc -Lm").    */
  35.  
  36. /*              CLAZ.c  v2.0                     */
  37. /*              by Steve Ludtke                  */
  38. /*              Created : 05/31/87               */
  39.  
  40. /*    Re-written Oct-Dec 1988 by LeRoy Fundingsland        */
  41. /*        Supercomputing Research Center            */
  42. /*            Lanham, MD                */
  43. /*        funding@metropolis.super.org            */
  44. /*                                */
  45. /*    Changes:                        */
  46. /*    - code re-structured for readability and maintain-    */
  47. /*        ability (my opinion (mostly:-))            */
  48. /*    - comments added for readability (but mostly just so I    */
  49. /*        could understand the code)            */
  50. /*    - code extended, with IFDEFs, to be compilable on SUN    */
  51. /*        systems (or nearly any 4.2BSD derived system,    */
  52. /*        I expect)                    */
  53. /*    - extended to generate color postscript output (as of    */
  54. /*        the above date, color postscript output        */
  55. /*        devices may be pretty rare but we have one and    */
  56. /*        I think they will be be increasingly common in    */
  57. /*        the future)                    */
  58. /*    - code extended, again with IFDEFs, to contain a rough    */
  59. /*        attempt at reducing the grainyness of the    */
  60. /*        output image (ref. "SMOOTH_INCLUDE")        */
  61. /*    - added the function for the image to be arbitrarily    */
  62. /*        rotated                        */
  63. /*                                */
  64. /*    TODO:                            */
  65. /*    - place all of the initialization of default        */
  66. /*        values to happen at compile time        */
  67. /*    - make sure that every value in the "cmap" array is    */
  68. /*        non-negative                    */
  69. /*    - QUESTION: when an Amiga process exits is the        */
  70. /*        programmer guaranteed that all system resources    */
  71. /*        are released? (specifically MALLOCed memory)?    */
  72.  
  73.             /* the following DEFINE is for        /* 1 */
  74.             /* IFDEFing code which is specific to    /* 1 */
  75.             /* the QMS ColorScript-100 laser    /* 1 */
  76.             /* printer.                /* 1 */
  77. #define QMS                            /* 1 */
  78. #define SMOOTH_INCLUDE                        /* 1 */
  79.             /* The code in this file has been    /* 1 */
  80.             /* constructed so that one, and only    /* 1 */
  81.             /* one, of the following "environment"    /* 1 */
  82.             /* "define"s should be included in the    /* 1 */
  83.             /* active code at any time.        /* 1 */
  84. /*                                /# 1 #/
  85. #define AMIGA                            /* 1 */
  86. #define SUN                            /* 1 */
  87.  
  88. #include<stdio.h>
  89. #include<math.h>
  90.  
  91. #ifdef AMIGA                            /* 1 */
  92. #undef NULL                            /* 1 */
  93. #include<exec/types.h>
  94. #endif AMIGA                            /* 1 */
  95. #ifdef SUN                            /* 1 */
  96. #define BYTE    char                        /* 1 */
  97. #define UBYTE    unsigned char                    /* 1 */
  98. #define WORD    short                        /* 1 */
  99. #define UWORD    unsigned short                    /* 1 */
  100. #define LONG    int                        /* 1 */
  101. #endif SUN                            /* 1 */
  102.  
  103.             /* define IFF structures */
  104. struct CMAP {
  105.     UBYTE r,g,b;
  106. };
  107.  
  108. struct BMHD {
  109.     UWORD w,h;
  110.     WORD x,y;
  111.     UBYTE npl;
  112.     UBYTE masking,compression,pad1;
  113.     UWORD tcolor;
  114.     UBYTE xas,yas;
  115.     WORD pWid,pHig;
  116. };
  117.  
  118. char hex[] = { '0', '1', '2', '3', '4', '5', '6', '7',        /* 1 */
  119.         '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'};    /* 1 */
  120.                                 /* 1 */
  121. #ifdef SUN                            /* 1 */
  122. #define TRUE    1                        /* 1 */
  123. #define FALSE    0                        /* 1 */
  124. #endif SUN                            /* 1 */
  125. int blacknwhite = TRUE;                        /* 1 */
  126.                                 /* 1 */
  127. char *filename_err1 =                        /* 1 */
  128.     "ERROR: Too many file names on the command line\n";    /* 1 */
  129. char *filename_data1 =                        /* 1 */
  130.     "\t(input=\"%s\", output=\"%s\", error string=\"%s\")\n\n";    /* 1 */
  131.  
  132.             /* smoothing related declarations    /* 1 */
  133. int smooth = 0;                            /* 1 */
  134. int width, height;                        /* 1 */
  135.             /* pointers to storage where pixel    /* 1 */
  136.             /* values are held during smoothing    /* 1 */
  137. char *pixelrow, *smoothrow;                    /* 1 */
  138.  
  139.  
  140. char *malloc();
  141. void putval1();                            /* 1 */
  142. void putval2();                            /* 1 */
  143.  
  144. void                                /* 1 */
  145. main(argc, argv)
  146.     int argc; char *argv[];{
  147.     struct BMHD mhd;
  148.     long len1, len2, cnt, m, h, i, j, k, lr, lb, lg,
  149.         x1, x2, y1, y2, showpage;
  150.     int fl1, b;
  151.     int rotate = 0;                        /* 1 */
  152.     BYTE t;
  153.     UBYTE cmap[100];
  154.     char *raster=NULL, *rp, *infile=NULL, inspace[80],    /* 1 */
  155.         *outfile=NULL, c, *misc=NULL;            /* 1 */
  156.     LONG msc1[3], msc2[2];                    /* 1 */
  157.     FILE *fin, *fout;
  158.  
  159.     if(argc == 1){                        /* 1 */
  160. usage:                                /* 1 */
  161.         printf("Usage is: ifftops ");            /* 1 */
  162.         printf("[-c] [-h]");                /* 1 */
  163. #ifdef SMOOTH_INCLUDE                        /* 1 */
  164.         printf(" [-s]");                /* 1 */
  165. #endif SMOOTH_INCLUDE                        /* 1 */
  166.         printf(" [-r <degrees>]\n");            /* 1 */
  167.         printf("\t\t[-p <x-start>,<y-start>,");        /* 1 */
  168.         printf("<x-scale>,<y-scale>]\n");        /* 1 */
  169.         printf("\t\t<input file> [<output-file>]\n");    /* 1 */
  170.         if(raster != NULL)                /* 1 */
  171.             free(raster);                /* 1 */
  172.         if(misc != NULL)                /* 1 */
  173.             free(misc);                /* 1 */
  174.         exit();                        /* 1 */
  175.     }                            /* 1 */
  176.  
  177.     showpage=1; x1=10; y1=10; x2=550; y2=480;        /* 1 */
  178. #ifdef QMS                            /* 1 */
  179.     y1 = (14*72)/16;    /* mechanical paper handlng */    /* 1 */
  180. #endif QMS                            /* 1 */
  181.  
  182.             /* Get enough memory, figure out filespecs */
  183.     raster = malloc(200000);
  184.     if (raster == NULL)
  185.         { printf("Not enough memory. (1)\n"); exit(0); }/* 1 */
  186.     misc = malloc(2000);
  187.     if(misc == NULL)                    /* 1 */
  188.         { printf("Not enough memory. (2)\n"); exit(0); }/* 1 */
  189.  
  190.             /* parse command line arguments        */
  191.     for(argc--,argv++; argc > 0; argc--, argv++){        /* 1 */
  192.         if(argv[0][0] == '-'){                /* 1 */
  193.             switch(argv[0][1]){            /* 1 */
  194.             case 'c':    /* "color" output */    /* 1 */
  195.                 blacknwhite = FALSE;        /* 1 */
  196.                 break;                /* 1 */
  197.             case 'h':    /* "hold" printout */    /* 1 */
  198.                 showpage = FALSE;        /* 1 */
  199.                 break;                /* 1 */
  200.             case 'p':    /* "position" image */    /* 1 */
  201.                 if(argv[0][2] != 0)        /* 1 */
  202.                     goto bad_p_flag;    /* 1 */
  203.                 argc--; argv++;            /* 1 */
  204.                 if(argc < 1)            /* 1 */
  205.                     goto bad_p_flag;    /* 1 */
  206.                 i =                /* 1 */
  207.                 sscanf(argv[0],"%ld,%ld,%ld,%ld",/* 1 */
  208.                     &x1, &y1, &x2, &y2);    /* 1 */
  209.                 if(i != 4){            /* 1 */
  210. bad_p_flag:                printf("Bad format ");    /* 1 */
  211.                     printf("for 'p' flag\n");/* 1 */
  212.                     goto usage;        /* 1 */
  213.                 }                /* 1 */
  214.                 break;                /* 1 */
  215.             case 'r':    /* "rotate" image */    /* 1 */
  216.                 if(argv[0][2] != 0)        /* 1 */
  217.                     goto bad_r_flag;    /* 1 */
  218.                 argc--; argv++;            /* 1 */
  219.                 if(argc < 1)            /* 1 */
  220.                     goto bad_r_flag;    /* 1 */
  221.                 i =                /* 1 */
  222.                 sscanf(argv[0],"%ld",&rotate);    /* 1 */
  223.                 if(i != 1){            /* 1 */
  224. bad_r_flag:                printf("Bad format ");    /* 1 */
  225.                     printf("for 'r' flag\n");/* 1 */
  226.                     goto usage;        /* 1 */
  227.                 }                /* 1 */
  228.                 if(rotate >= 360  ||        /* 1 */
  229.                         rotate <= -360)    /* 1 */
  230.                     goto bad_r_flag;    /* 1 */
  231.                 break;                /* 1 */
  232. #ifdef SMOOTH_INCLUDE                        /* 1 */
  233.             case 's':    /* "smooth" image */    /* 1 */
  234. /*
  235.                 if(argv[0][2] == 0){        /* 1 */
  236.                     smooth = 1;        /* 1 */
  237. /*
  238.                     break;            /* 1 */
  239. /*
  240.                 }                /* 1 */
  241. #ifdef NEVERDEF
  242.                 sscanf(&argv[0][2], "%d", &smooth);
  243.                 if(smooth == 0)            /* 1 */
  244.                     goto usage;        /* 1 */
  245.                 if(smooth < 1  ||  smooth > 3){    /* 1 */
  246.                     printf("Invalid \"smooth\" ");
  247.                     printf("value.\n");    /* 1 */
  248.                     exit(1);        /* 1 */
  249.                 }                /* 1 */
  250. #endif NEVERDEF
  251.                 break;                /* 1 */
  252. #endif SMOOTH_INCLUDE                        /* 1 */
  253.             default:                /* 1 */
  254.                 printf("Unknown flag '%c'\n",    /* 1 */
  255.                         *argv[1]);    /* 1 */
  256.                 exit(1);            /* 1 */
  257.             }                    /* 1 */
  258.         }                        /* 1 */
  259.         else {        /* file designator */        /* 1 */
  260.                 /* maximum of two files allowed    /* 1 */
  261.                 /* the first one is the input    /* 1 */
  262.                 /* file, the second, if it    /* 1 */
  263.                 /* exists is the output file    /* 1 */
  264.             if(infile == NULL)            /* 1 */
  265.                 infile = *argv;            /* 1 */
  266.             else if(outfile == NULL)        /* 1 */
  267.                 outfile = *argv;        /* 1 */
  268.             else{                    /* 1 */
  269.                 printf(filename_err1);        /* 1 */
  270.                 printf(filename_data1, infile,    /* 1 */
  271.                     outfile, *argv);    /* 1 */
  272.                 goto usage;            /* 1 */
  273.             }                    /* 1 */
  274.         }                        /* 1 */
  275.     }        /* end of argument parsing FOR loop */    /* 1 */
  276.     if(infile == NULL){                    /* 1 */
  277.         printf("ERROR: input file name required.\n\n");    /* 1 */
  278.         goto usage;                    /* 1 */
  279.     }                            /* 1 */
  280.  
  281.     
  282.     printf("\n\n                IFFTOPS - IFF to POSTSCRIPT");
  283.     printf(" converter V3.0\n");
  284.     printf("                           By LeRoy Fundingsland\n");
  285.     printf("                             (via Steve Ludtke)\n");
  286.     printf("                          N\251 - No Copyright 1988\n");
  287.     printf("\n");
  288.     printf("File in : ");
  289.     if(infile != NULL)                    /* 1 */
  290.         printf("%s\n", infile);
  291.     else{        /* no input file supplied    */
  292.         infile = inspace;                /* 1 */
  293.         scanf("%s", infile);
  294.     }
  295.     if(outfile == NULL)                    /* 1 */
  296.         outfile = "out.ps";
  297.  
  298.     fin = fopen(infile, "r");
  299.     if(fin == NULL)
  300.         { printf("Sorry, can't open input file.\n"); exit(0); }
  301.     if ((fread((char *)msc1,12,1,fin)) == 0)        /* 1 */
  302.         { printf("Sorry, input file problem #1\n"); exit (0); }
  303. /*                                /# 1 #/
  304.     len1 = (long *)&msc1[4];
  305. */                                /* 1 */
  306.     len1 = msc1[1];                        /* 1 */
  307.     printf("main : %d,%4s\n", len1, (char *)&msc1[0]);    /* 1 */
  308.     cnt = 14;
  309.  
  310.     /* len1=# bytes in file according to IFF */
  311.     /* msc2=the name of the current chunk */
  312.     /* len2=# bytes in current chunk */
  313.     /* by the way, UNID is symply any chunk the program    */
  314.     /*    doesn't deal with */
  315.  
  316.             /* Reads in the IFF file : */
  317.  
  318.     while(cnt < len1){
  319.         fl1 = 0;
  320.         if ((fread((char *)msc2,8,1,fin)) == 0)        /* 1 */
  321.             {printf("Sorry, bad input file. \n"); exit(0);}
  322. /*                                /# 1 #/
  323.         len2 = (long *)&msc2[4];
  324. */                                /* 1 */
  325.         len2 = msc2[1];                    /* 1 */
  326.  
  327.         if (strncmp((char *)msc2,"CMAP",4) == 0) {    /* 1 */
  328.             if ((fread(cmap,len2,1,fin)) == 0)
  329.                 { printf("Sorry, bad CMAP. \n"); exit(0); }
  330.             printf("CMAP\n");
  331.             fl1 = 1;
  332.         }
  333.  
  334.         if (strncmp((char *)msc2,"BMHD",4) == 0) {    /* 1 */
  335.             if ((fread((char *)&mhd,len2,1,fin)) == 0)
  336.                 { printf("Sorry, bad BMHD. \n"); exit(0); }
  337.             printf("BMHD\n");
  338.             fl1 = 1;
  339.         }
  340.  
  341.         if (strncmp((char *)msc2,"BODY",4) == 0) {    /* 1 */
  342.             printf("BODY\n");
  343. #ifdef DEBUG                            /* 1 */
  344. printf("\t\tlength of BODY chunk (from file) = %d\n", len2);    /*999*/
  345. #endif DEBUG                            /* 1 */
  346.             fl1 = 1;
  347.             m = 0; rp = raster;
  348.             if (mhd.compression == 1) {
  349.                 while (m <= len2) {
  350.                     t = getc(fin); m++;
  351.                     if (t >= 0) {
  352.                         t++;
  353.                         fread(rp,(long) t,1,fin);
  354.                         rp += t;
  355.                         m += t;
  356.                     }
  357.                     if (t<0) {
  358.                         t=(-t)+1;
  359.                         c=getc(fin);
  360.                         m++;
  361.                         for (i=0; i<t; i++) {
  362.                             *rp=c; rp++;
  363.                         }
  364.                     }
  365.                 }
  366.             }
  367.             if (mhd.compression == 0) {
  368.                 if((fread(rp,len2,1,fin)) == 0){
  369.                     printf("Sorry, bad BODY. \n");
  370.                     exit(0);
  371.                 }
  372.                 printf("No Compression\n");
  373.             }
  374.             if (mhd.compression > 1) {
  375.                 printf("Sorry, unknown compression type.\n");
  376.                 exit(0);
  377.             }
  378.         }        /* end of "BODY" IF statement    */
  379.  
  380.         if (fl1 == 0) {
  381.             if (len2 > 2000) {
  382.                 printf("Sorry, UNID too long.\n");
  383.                 exit(0);
  384.             }
  385.             if ((fread(misc,len2,1,fin)) == 0) {
  386.                 printf("Sorry, UNID bad. \n");
  387.                 exit(0);
  388.             }
  389.             printf("UNID\n");
  390.         }
  391.     
  392.           cnt += len2;
  393.         cnt += 8;
  394.     }        /* end of IFF-file-reading WHILE loop    */
  395.  
  396. #ifdef DEBUG                            /* 1 */
  397. printf("Total bytes read into \"raster\" = %d\n", rp-raster);    /*999*/
  398. #endif DEBUG                            /* 1 */
  399.     fclose(fin);
  400.  
  401.             /* inform user if file already exists    /* 1 */
  402.             /* and is being appended to        /* 1 */
  403.     if((fout=fopen(outfile,"r")) != NULL){            /* 1 */
  404.         printf("Output file, \"%s\", already exists.\n",/* 1 */
  405.                         outfile);    /* 1 */
  406.         printf("Output is being appended to this file.\n");
  407.         fclose(fout);                    /* 1 */
  408.     }                            /* 1 */
  409.     if ((fout=fopen(outfile,"a")) == NULL) {
  410.         printf("Sorry, cannot open output file.\n");
  411.         exit(0);
  412.     }
  413.  
  414. /* Standard POSTSCRIPT program, the only part following the data is */
  415. /* the showpage command. */
  416.  
  417.     if(smooth){                        /* 1 */
  418.         width = mhd.w * 2;                /* 1 */
  419.         height = mhd.h * 2;                /* 1 */
  420.             /* the "pixelrow" array is sized at one    /* 1 */
  421.             /* byte for each pixel because it will    /* 1 */
  422.             /* hold the ASCII-HEX (see "hex" array)    /* 1 */
  423.             /* value for each pixel.        /* 1 */
  424.             /* (3 bytes for each pixel if color)    /* 1 */
  425.         if(blacknwhite == TRUE)                /* 1 */
  426.             pixelrow = malloc(width);        /* 1 */
  427.         else        /* color */            /* 1 */
  428.             pixelrow = malloc(width * 3);        /* 1 */
  429.         if(pixelrow == NULL)                /* 1 */
  430.         { printf("Not enough memory. (3)\n"); exit(0); }/* 1 */
  431.             /* the same for the "smoothrow" array    /* 1 */
  432.         if(blacknwhite == TRUE)                /* 1 */
  433.             smoothrow = malloc(width);        /* 1 */
  434.         else        /* color */            /* 1 */
  435.             smoothrow = malloc(width * 3);        /* 1 */
  436.         if(smoothrow == NULL)                /* 1 */
  437.         { printf("Not enough memory. (4)\n"); exit(0); }/* 1 */
  438.     }                            /* 1 */
  439.     else{                            /* 1 */
  440.         width = mhd.w;                    /* 1 */
  441.         height = mhd.h;                    /* 1 */
  442.     }                            /* 1 */
  443.                                 /* 1 */
  444.     fprintf(fout, "%%!\r");                    /* 1 */
  445.     fprintf(fout,"[0 0 0 0 0 0] defaultmatrix setmatrix\r");/* 1 */
  446.             /* the length of the postscript        /* 1 */
  447.             /* "picture string" (picstr) must equal    /* 1 */
  448.             /* the width of the picture in pixels    /* 1 */
  449.             /* (mhd.w) times the number of bytes of    /* 1 */
  450.             /* data supplyed per pixel (0.5 for    /* 1 */
  451.             /* B&W, 1.5 for color). This is so that    /* 1 */
  452.             /* every time the "image" command    /* 1 */
  453.             /* invokes the reading procedure, all    /* 1 */
  454.             /* N bytes representing one scan line    /* 1 */
  455.             /* are read.                /* 1 */
  456.     fprintf(fout,"/picstr %d string def\r",
  457.         (int)(width * (blacknwhite ? 0.5 : 1.5)));    /* 1 */
  458.     fprintf(fout,"%ld %ld translate\r",x1,y1);
  459.     if(rotate)                        /* 1 */
  460.         fprintf(fout, "%d rotate\r", rotate);        /* 1 */
  461.     fprintf(fout,"%ld %ld scale\r",x2,y2);
  462.     fprintf(fout, "%d %d 4 [%d 0 0 -%d 0 %d]\r",
  463.         width, height, width, height, height);        /* 1 */
  464.     fprintf(fout,"{currentfile picstr readhexstring pop}");
  465. #ifdef QMS                            /* 1 */
  466.     if(blacknwhite == FALSE)                /* 1 */
  467.         fprintf(fout, " false 3 colorimage\r");        /* 1 */
  468.     else                    /* color! */    /* 1 */
  469. #endif QMS                            /* 1 */
  470.     fprintf(fout, " image\r");
  471.  
  472.             /* calculate and output file */
  473.  
  474.     lb = lr = lg = 0;
  475.     printf("rast size : %d     #planes : %d\n",
  476.                 mhd.w*mhd.h/8, mhd.npl);    /* 1 */
  477.             /* what does this do?            */
  478.     for (h=0; h<96; h++)
  479.         cmap[h] = cmap[h]/16;
  480.     for (h=0; h<mhd.h; h++) {
  481.         for (i=0; i<mhd.w/8; i++) {
  482.             for(k=7;k>=0;k--) {
  483.                 b=0;
  484.                 for(j=0; j<mhd.npl; j++) {
  485.                     c = (raster[h*(mhd.w/8)*mhd.npl+i+((mhd.npl-j-1)*mhd.w/8)]);
  486.                     c = c>>k;
  487.                     c &= 1;
  488.                     b |= c;
  489.                     b <<= 1;
  490.                 }
  491.                 b >>= 1;
  492.  
  493.                     /* this is for HAM pictures */
  494.                 if (mhd.npl == 6) {
  495.                     c = (b&48) >> 4;
  496.                     b &= 15;
  497.                     if (c == 0) {
  498.                         b *= 3;
  499.                         lr = cmap[b];
  500.                         lb = cmap[b+1];
  501.                         lg = cmap[b+2];
  502.                     }
  503.                     if (c == 1) lb = b;
  504.                     if (c == 2) lr = b;
  505.                     if (c == 3) lg = b;
  506.                 }
  507.                 if (mhd.npl != 6) {
  508.                     b &= 31;
  509.                     b *= 3;
  510.                     lr = cmap[b];
  511.                     lb = cmap[b+1];
  512.                     lg = cmap[b+2];
  513.                 }
  514.                 if(blacknwhite){        /* 1 */
  515.                     m = lr+lb+lg; m = m/3;
  516.                     if (m < 0) m = 0;
  517.                     if (m > 14) m = 14;
  518. #ifdef SMOOTH_INCLUDE                        /* 1 */
  519.                     putval1(m, fout, h,    /* 1 */
  520.                         (i*8) + (7-k));    /* 1 */
  521. #else SMOOTH_INCLUDE                        /* 1 */
  522.                     putc(hex[m], fout);
  523. #endif SMOOTH_INCLUDE                        /* 1 */
  524.                 }                /* 1 */
  525.                 else{        /* color! */    /* 1 */
  526. #ifdef SMOOTH_INCLUDE                        /* 1 */
  527.                     putval2(lr,lg,lb,fout,    /* 1 */
  528.                         h,(i*8)+(7-k));    /* 1 */
  529. #else SMOOTH_INCLUDE                        /* 1 */
  530.                     putc(hex[lr], fout);
  531.                     putc(hex[lg], fout);
  532.                     putc(hex[lb], fout);
  533. #endif SMOOTH_INCLUDE                        /* 1 */
  534.                 }                /* 1 */
  535.             }
  536.         }
  537.     }        /* end of map-header-count FOR loop    */
  538.  
  539.     fprintf(fout,"\r");
  540.     if(showpage)                        /* 1 */
  541.         fprintf(fout,"showpage\r");
  542.  
  543.     fclose(fout);
  544.     printf("Done !!!\n");
  545.     free(misc);
  546.     free(raster);
  547. #ifdef DEBUG                            /* 1 */
  548. printf("\n\tmhd.w = %d    mhd.h = %d\n", mhd.w, mhd.h);        /*999*/
  549. printf("\twidth = %d    height = %d\n", width, height);        /*999*/
  550. #endif DEBUG                            /* 1 */
  551. }
  552.  
  553.  
  554. #ifdef SMOOTH_INCLUDE                        /* 1 */
  555. void                                /* 1 */
  556. putval1(pixelval, fout, rownum, pixelnum)            /* 1 */
  557.     char pixelval;        /* the binary value */        /* 1 */
  558.     int rownum, pixelnum;
  559.     FILE *fout;{
  560.     int i;
  561.     char tempval;
  562.  
  563.             /* NOTE: the raw values are placed in    */
  564.             /* the odd numbered elements of the    */
  565.             /* arrays and the averaged values are    */
  566.             /* placed in the even numbered elements.*/
  567.             /* The exception to this is the zeroth    */
  568.             /* pixels and row. Since these values    */
  569.             /* cannot be produced (because there is    */
  570.             /* no previous value to average with)    */
  571.             /* they are initialized with the value    */
  572.             /* of the zeroth pixel (which also    */
  573.             /* exists in array element numbered "1")*/
  574.     if(smooth){
  575.         if(rownum == 0){
  576.             if(pixelnum == 0){
  577.                 smoothrow[0] = pixelval;
  578.                 smoothrow[1] = pixelval;
  579.                 pixelrow[0] = pixelval;
  580.                 pixelrow[1] = pixelval;
  581.             }
  582.             else{
  583.                 smoothrow[(2*pixelnum)+1] =
  584.                             pixelval;
  585.                 pixelrow[(2*pixelnum)+1] =
  586.                             pixelval;
  587.     
  588.                 tempval =
  589.                 (pixelrow[(2*pixelnum)-1] +
  590.                     pixelval) / 2;
  591.                 smoothrow[2*pixelnum] = tempval;
  592.                 pixelrow[2*pixelnum] = tempval;
  593.             }
  594.         }
  595.         else{        /* rownum != 0    */
  596.             if(pixelnum == 0){
  597.                 smoothrow[1] =
  598.                 (pixelrow[1] + pixelval) / 2;
  599.                 pixelrow[1] = pixelval;
  600.                 smoothrow[0] = smoothrow[1];
  601.                 pixelrow[0] = pixelval;
  602.             }
  603.             else{
  604.                 smoothrow[(2*pixelnum)+1] =
  605.                 (pixelrow[(2*pixelnum)+1] +
  606.                     pixelval) / 2;
  607.     
  608.                 pixelrow[(2*pixelnum)+1] =
  609.                             pixelval;
  610.     
  611.                 tempval =
  612.                 (pixelrow[(2*pixelnum)-1] +
  613.                     pixelval) / 2;
  614.                 smoothrow[2*pixelnum] =
  615.                 (pixelrow[2*pixelnum] +
  616.                     tempval) / 2;
  617.     
  618.                 pixelrow[2*pixelnum] = tempval;
  619.             }
  620.         }
  621.  
  622.             /* if the last pixel in the row has    */
  623.             /* been processed then write the two    */
  624.             /* rows to the output file.        */
  625.         if(pixelnum == ((width/2) - 1)){
  626.             for(i=0; i < width; i++)
  627.                 putc(hex[smoothrow[i]], fout);
  628.             for(i=0; i < width; i++)
  629.                 putc(hex[pixelrow[i]], fout);
  630.         }
  631.     }
  632.     else                /* no smoothing    */
  633.         putc(hex[pixelval], fout);
  634. }
  635.  
  636.  
  637. #define SETPIXELS(array,index,r,g,b)            /* 1 */\
  638.         array[(3*index)+0] = r;            /* 1 */\
  639.         array[(3*index)+1] = g;            /* 1 */\
  640.         array[(3*index)+2] = b;            /* 1 */
  641.  
  642. #define AVE0PIX(array,index,val)            /* 1 */\
  643.         ((array[(3*index)+0]+val)/2)
  644. #define AVE1PIX(array,index,val)            /* 1 */\
  645.         ((array[(3*index)+1]+val)/2)
  646. #define AVE2PIX(array,index,val)            /* 1 */\
  647.         ((array[(3*index)+2]+val)/2)
  648.  
  649. void                                /* 1 */
  650. putval2(redval, greenval, blueval, fout, rownum, pixelnum)    /* 1 */
  651.     char redval, greenval, blueval;    /* the binary value */    /* 1 */
  652.     int rownum, pixelnum;
  653.     FILE *fout;{
  654.     int i;
  655.     char tempred, tempgreen, tempblue;
  656.  
  657.             /* NOTE: the raw values are placed in    */
  658.             /* the odd numbered elements of the    */
  659.             /* arrays and the averaged values are    */
  660.             /* placed in the even numbered elements.*/
  661.             /* The exception to this is the zeroth    */
  662.             /* pixels and row. Since these values    */
  663.             /* cannot be produced (because there is    */
  664.             /* no previous value to average with)    */
  665.             /* they are initialized with the value    */
  666.             /* of the zeroth pixel (which also    */
  667.             /* exists in array element numbered "1")*/
  668.     if(smooth){
  669.         if(rownum == 0){
  670.             if(pixelnum == 0){
  671.                 SETPIXELS(smoothrow,0,redval,
  672.                         greenval,blueval)
  673.                 SETPIXELS(smoothrow,1,redval,
  674.                         greenval,blueval)
  675.                 SETPIXELS(pixelrow,0,redval,
  676.                         greenval,blueval)
  677.                 SETPIXELS(pixelrow,1,redval,
  678.                         greenval,blueval)
  679.             }
  680.             else{
  681.                     /* store raw values    */
  682.                 SETPIXELS(smoothrow,((2*pixelnum)+1),
  683.                     redval,greenval,blueval)
  684.                 SETPIXELS(pixelrow,((2*pixelnum)+1),
  685.                     redval,greenval,blueval)
  686.     
  687.                     /* calculate and store    */
  688.                     /* averaged values    */
  689.                 tempred =
  690.                 (pixelrow[(3*((2*pixelnum)-1))+0] +
  691.                     redval) / 2;
  692.                 tempgreen =
  693.                 (pixelrow[(3*((2*pixelnum)-1))+1] +
  694.                     greenval) / 2;
  695.                 tempblue =
  696.                 (pixelrow[(3*((2*pixelnum)-1))+2] +
  697.                     blueval) / 2;
  698.                 SETPIXELS(smoothrow,(2*pixelnum),
  699.                     tempred,tempgreen,tempblue)
  700.                 SETPIXELS(pixelrow,(2*pixelnum),
  701.                     tempred,tempgreen,tempblue)
  702.             }
  703.         }
  704.         else{        /* rownum != 0    */
  705.             if(pixelnum == 0){
  706.                 SETPIXELS(smoothrow,1,
  707.                     AVE0PIX(pixelrow,1,redval),
  708.                     AVE1PIX(pixelrow,1,greenval),
  709.                     AVE2PIX(pixelrow,1,blueval))
  710.                 SETPIXELS(pixelrow,1,redval,
  711.                         greenval,blueval)
  712.                 SETPIXELS(smoothrow,0,smoothrow[3],
  713.                     smoothrow[4],smoothrow[5])
  714.                 SETPIXELS(pixelrow,0,redval,
  715.                         greenval,blueval)
  716.             }
  717.             else{
  718.                 SETPIXELS(smoothrow,((2*pixelnum)+1),
  719.             AVE0PIX(pixelrow,((2*pixelnum)+1),redval),
  720.             AVE1PIX(pixelrow,((2*pixelnum)+1),greenval),
  721.             AVE2PIX(pixelrow,((2*pixelnum)+1),blueval))
  722. /*
  723.                 smoothrow[(2*pixelnum)+1] =
  724.                 (pixelrow[(2*pixelnum)+1] +
  725.                     pixelval) / 2;
  726. */
  727.     
  728.                 SETPIXELS(pixelrow,((2*pixelnum)+1),
  729.                     redval,greenval,blueval)
  730.     
  731.                     /* calculate and store    */
  732.                     /* averaged values    */
  733.                 tempred =
  734.                 (pixelrow[(3*((2*pixelnum)-1))+0] +
  735.                     redval) / 2;
  736.                 tempgreen =
  737.                 (pixelrow[(3*((2*pixelnum)-1))+1] +
  738.                     greenval) / 2;
  739.                 tempblue =
  740.                 (pixelrow[(3*((2*pixelnum)-1))+2] +
  741.                     blueval) / 2;
  742.                 SETPIXELS(smoothrow,(2*pixelnum),
  743.             AVE0PIX(pixelrow,(2*pixelnum),tempred),
  744.             AVE1PIX(pixelrow,(2*pixelnum),tempgreen),
  745.             AVE2PIX(pixelrow,(2*pixelnum),tempblue))
  746. /*
  747.                 smoothrow[2*pixelnum] =
  748.                 (pixelrow[2*pixelnum] +
  749.                     tempval) / 2;
  750. */
  751.     
  752.                 SETPIXELS(pixelrow,(2*pixelnum),
  753.                     tempred,tempgreen,tempblue)
  754.             }
  755.         }
  756.  
  757.             /* if the last pixel in the row has    */
  758.             /* been processed then write the two    */
  759.             /* rows to the output file.        */
  760.         if(pixelnum == ((width/2) - 1)){
  761.             for(i=0; i < width; i++){
  762.                 putc(hex[smoothrow[(3*i)+0]], fout);
  763.                 putc(hex[smoothrow[(3*i)+1]], fout);
  764.                 putc(hex[smoothrow[(3*i)+2]], fout);
  765.             }
  766.             for(i=0; i < width; i++){
  767.                 putc(hex[pixelrow[(3*i)+0]], fout);
  768.                 putc(hex[pixelrow[(3*i)+1]], fout);
  769.                 putc(hex[pixelrow[(3*i)+2]], fout);
  770.             }
  771.         }
  772.     }
  773.     else{                /* no smoothing    */
  774.         putc(hex[redval], fout);
  775.         putc(hex[greenval], fout);
  776.         putc(hex[blueval], fout);
  777.     }
  778. }
  779. #endif SMOOTH_INCLUDE                        /* 1 */
  780. SHAR_EOF
  781. cat << \SHAR_EOF > ifftops.n
  782. .\" @(#)ifftops.1 3.0 88/11/25 SRC;
  783. .ds ]W \         \" overwrite the "Sun Release 3.5" string
  784. .TH IFFTOPS 1 "25 November 1988"
  785. .SH NAME
  786. .in +10
  787. .ti -10
  788. ifftops \- translate an Amiga IFF format file into PostScript
  789. .in -10
  790. .SH SYNOPSIS
  791. .I ifftops [-c] [-h] [-s] [-r <degrees>]
  792. .ti +10
  793. .I [-p <x-start>,<y-start>,<x-scale>,<y-scale>]
  794. .ti +10
  795. .I <input-file> [<output-file>]
  796. .SH DESCRIPTION
  797. .I Ifftops
  798. translates Amiga IFF format files - specifically InterLeaved
  799. BitMap (ILBM) graphics IFF files - into PostScript format.
  800. It handles both black & white images and color images
  801. (see NOTE #1 in NOTES section below), including HAM mode images.
  802. There are options for positioning an image on the output page,
  803. scaling the image (larger or smaller),
  804. rotating the image,
  805. and placing multiple images on the same output page.
  806.  
  807. The program works by generating a small PostScript-language
  808. "header" followed by a hexadecimal representation (in ASCII),
  809. of the bits of the image to render, in a raw format that
  810. PostScript understands.
  811. When the "header" is executed by the PostScript interpreter
  812. (which is commonly embedded in the printer being used) it
  813. handles the positioning, scaling, etc. functions and then
  814. reads all of the following data to produce the resultant image.
  815.  
  816. All of the command line arguments are optional.
  817. The one piece of information that
  818. .I ifftops
  819. needs is the name of the input file to process.
  820. If this is not supplied on the command line then the user
  821. is prompted for it.
  822. (see NOTE #2)
  823.  
  824. The arguments to
  825. .I ifftops
  826. are:
  827. .in +10
  828. .ti -5
  829. -c    color. Take a color ILBM IFF file and produce a
  830. color PostScript output file.
  831. (If this flag is used with a black & white ILBM IFF file then
  832. the image is rendered in black & white with an interesting
  833. sepia effect.)
  834.  
  835. .ti -5
  836. -h    hold page image.
  837. In PostScript terminology each printed page is called a page
  838. image.
  839. By default,
  840. .I ifftops
  841. appends a PostScript command at the end of each processed IFF
  842. image to cause the current page image to print out.
  843. If it is desired to place more than one IFF image onto the same
  844. printed page (i.e. page image) then this flag will cause the
  845. PostScript command (specifically "showpage")
  846. not to be appended.
  847. (see "EXAMPLES" below)
  848.  
  849. .ti -5
  850. -s    smooth.
  851. This flag is my own attempt (very unsophisticated and brute
  852. force) at smoothing out the IFF image by doubling the number
  853. of pixels, both horizontally and vertically, and averaging
  854. the values.
  855. (see NOTE #3 below)
  856.  
  857. .ti -5
  858. -r    rotate.
  859. Rotate the image by the given number of degrees.
  860. The value for the degrees must be between 360 and -360.
  861. Positive values result in counterclockwise rotation.
  862.  
  863. .ti -5
  864. -p    position.
  865. Place and size the IFF image within the PostScript page image
  866. (i.e. on the resultant printed page.)
  867. <x-start> and <y-start> are the PostScript coordinates of the
  868. lower left-hand corner of the image to be printed.
  869. The defaults for these are 10 and 10 respectively.
  870. <x-scale> and <y-scale> are the PostScript dimensions, of the
  871. image to be printed, in the x and y directions.
  872. The defaults for these are 550 and 480 respectively.
  873. (see "EXAMPLES" below)
  874. .in -10
  875.  
  876. If an <output-file> is not specified on the command line then
  877. the file "out.ps" is used.
  878. If the specified (or default) <output-file> already exists then
  879. the output is appended to the end of this file (this is so that
  880. the "-h" flag (described above) will work.)
  881. Be careful that this is what you want - it caused me trouble
  882. on several occasions by appending to files when I didn't
  883. intend to.
  884. .SH EXAMPLES
  885. Process the ILBM IFF format file named "dog" and put the resulting
  886. PostScript output in the file "dog.ps":
  887. .br
  888.     ifftops dog dog.ps
  889.  
  890. Position and scale the image to be in the center of the page
  891. and to be four inches by three inches:
  892. .br
  893.     ifftops -p 162,288,288,216 dog dog2.ps
  894.  
  895. Position, scale, and rotate the image so that there are four
  896. copys of the image on the page, side-by-side, all four inches
  897. by three inches:
  898. .br
  899. .nf
  900.     ifftops -h -r 90 -p 306,396,288,216 dog dog3.ps
  901.     ifftops -h -r 90 -p 522,396,288,216 dog dog3.ps
  902.     ifftops -h -r 90 -p 306,108,288,216 dog dog3.ps
  903.     ifftops -r 90 -p 522,108,288,216 dog dog3.ps
  904. .fi
  905. .SH NOTES
  906. .in +5
  907. .ti -5
  908. 1.)    The color PostScript syntax has only been tested on
  909. a QMS Colorscript-100 printer.
  910. Since color Postscript printers are rather new, and since the
  911. PostScript syntax for handling color images has not yet been
  912. standardized, there is a good chance that the output generated
  913. by this program will not work on printers built by other
  914. manufacturers.
  915. The source code contains preprocessor statements (i.e.
  916. "#define QMS") which surround the color PostScript specific
  917. lines so, hopefully, it should be straight-forward to add
  918. support for other manufacturers' printers, if it is necessary.
  919.  
  920. .ti -5
  921. 2.)    All of the code development for this program was done
  922. on a Sun system running SunOS (i.e. UNIX) for the fairly weak
  923. reason that I did not have a compiler for my Amiga at that
  924. time (also, the only PostScript printers that I had access to
  925. were available via the Sun.)
  926. Therefore, I have made sure that the code compiles under both
  927. UNIX and AmigaDOS.
  928. The source code contains preprocessor statements to toggle
  929. the differences between the two environments (mostly "#include"
  930. files and some "#define"s).
  931. To compile this program for one of the two environments either
  932. a "#define AMIGA" or a "#define UNIX" must exist at the
  933. beginning of the file.
  934. Be sure that ONLY ONE of these two "#define"s is in effect.
  935.  
  936. .ti -5
  937. 3.)    The "-s" flag has very little noticeable effect on a 300 DPI
  938. laser printer.
  939. I believe that this is because the default "print cell" size is
  940. approximately 50 cells per inch.
  941. On the QMS Colorscript-100 printer I prepended the following
  942. PostScript code, by hand, to the output file produced by
  943. .I ifftops:
  944. .in +6
  945. .nf
  946. %!
  947. /sfreq 72 def
  948. /sproc {dup mul exch dup mul add 1 exch sub} def
  949. sfreq 60 /sproc load
  950. sfreq 30 /sproc load
  951. sfreq 0 /sproc load
  952. sfreq 0 /sproc load
  953. setcolorscreen
  954. .fi
  955. .in
  956. (NOTE: this printer is a four-color printer (YMCB))
  957. .br
  958. (NOTE: the standard PostScript language has a counterpart "setscreen"
  959. command for black & white printers.)
  960. .br
  961. The result of adding these lines was a noticeable reduction in the
  962. grainyness of the output file.
  963.  
  964. An unfortunate side effect of this smoothing function is an aprox.
  965. 40% increase in the size of the source code file.
  966. (I haven't check the relative sizes of the binary files.)
  967. Because of this and because of its marginal usefulness, the source code
  968. includes preprocessor defines, keyed on the identifier SMOOTH_INCLUDE,
  969. which allow the smoothing code to be compiled out of the program.
  970. Specifically, if the line "#define SMOOTH_INCLUDE" exists in the
  971. source file then the smoothing code will be included.
  972.  
  973. Happily, the smoothing function only adds a small amount to the total
  974. execution time of the program.
  975. However, the user should take note that using the "-s" flag causes
  976. the output file to be four times larger that it would be without using
  977. this flag.
  978. .in -5
  979. .SH FILES
  980. .nf
  981. .ta 20
  982. out.ps    default output file if none is specified
  983. .ta 8
  984. .fi
  985. .\".SH SEE ALSO
  986. .\"adduser(1), /etc/data/README, passwd(5)
  987. .SH BUGS
  988. There should be a way for the <input-file> and <output-file> to
  989. be re-directed from/to standard-input and standard-output.
  990. .SH AUTHOR
  991. LeRoy Fundingsland, November 1988
  992. .br
  993. (derived from a program called CLAZ which was created by
  994. Steve Ludtke, May 1987)
  995. SHAR_EOF
  996. cat << \SHAR_EOF > ifftops.uu
  997.  
  998. begin 644 ifftops
  999. M```#\P`````````#``````````(```^^```%M0```LD```/I```/ODCG?OY+\
  1000. M[P`T)$@D`$GY`````"QX``0I3@!`*4\`3$*L`$B3R4ZN_MHF0"EK`)@`.$JK]
  1001. M`*QG``!P(`V0K0`$!H````"`*4``!&$``7H@:P"LT<C1R")H`!#3R=/)(`)R/
  1002. M`!(9*4D`5-"!4H!"9U*``D#__I_`58!"=P@`(`)3@-2!'[(``"``4X)1R/_VA
  1003. M'[P`("``4X(?L2``(`!1RO_X(D\O"6```&PI:P`Z``0&K````(``!&$``0YA@
  1004. M``#X*4``2"\`)$`@*@`D9Q(L;`C<($`B*```*4$`.$ZN_X(B*@`@9QHD/```U
  1005. M`^U.KO_B*4``4&<*Y8@@0"=H``@`I"!L`$@O"$AL```@:``D*6@`!`!41_D`3
  1006. M``CP<@`@/````(U@`B;!4<C__$ZZ-S!P`&`$("\`!"\`("P`+&<$($!.D$ZZ>
  1007. M)[(L>``$(FP(W$ZN_F)*K`CD9P@B;`CD3J[^8DJL".AG"")L".A.KOYB2JP`;
  1008. M6&<((FP`6$ZN_F)*K`!(9R0B+``\9P1.KO_<(BP`4&<$3J[_W"QX``1.KO]\=
  1009. M(FP`2$ZN_H8@'RYL`$Q,WW]^3G5P9&"`0>L`7$ZN_H!!ZP!<3J[^C$YU0^P`<
  1010. M7'``3J[]V"E`"-QGVDYU``!.50``*6T`"``<2JP`(&<4,'P``2)L`""SR&<(A
  1011. M2'@`"$Z16$].74YU```#3````L@```/I3E4``%*L"00@;`D`4Z@`#"`H``Q*I
  1012. M@&L4(F@`!%*H``0@+0`($H!R`!(18!8@+0`(`H````#_+P@O`$ZZ,K103R(`H
  1013. M3EU.=4Y5``!"K`D$*6T`"`D`2&T`$"\M``Q(>O^B3KH--$_O``PO+0`(2'C_Y
  1014. M_TZZ,GY03R`L"01.74YU``!.50``4JP)"%.L!]X@+`?>2H!K%"!L!]92K`?6Q
  1015. M("T`"!"`<@`2$&`8("T`"`*`````_TAL!](O`$ZZ,C903R(`3EU.=4Y5``!"'
  1016. MK`D(2&T`#"\M``A(>O^J3KH,O$_O``Q(;`?22'C__TZZ,@903R`L"0A.74YU<
  1017. M```)!$Y=3G5P84Y5_^A(YR``0>T`#$*M__PK2/_L(&T`"$H09P`!7G``$!!2^
  1018. MK0`(0>P&$='`$A`K0/_X"`$``V;<#(`````E9@``Z"!M``@,$``E9DI3K`>X?
  1019. M("P'N$J`:PYP`"!L![00$%*L![1@"DAL![!.NB_<6$\K0/_X0>P&$='M__@08
  1020. M$`@```-FR`RM````)?_X9X8@+?_\8```ZB!M``@,$``J9PPK;?_L_^A8K?_L%
  1021. M8`J3R5*M``@K2?_H0JW_]"\M_^A(;?_T2'H`PB\M``A.N@QH3^\`$"M`__!*+
  1022. M@%;!1`%(@4C!2H%G!"M```@D+?_T#(+_____9AA*@6<$4JW__$JM__QO!B`M'
  1023. M__Q@=G#_8')*@F<,2&P'L"\"3KHL+%!/2JW_\&90("W__&!64ZP'N"`L![A*9
  1024. M@&L.<``@;`>T$!!2K`>T8`I(;`>P3KHO`%A/*T#_]$'L!A'1[?_T$!`(```#Z
  1025. M9L@B+?_TLJW_^&<`_JH@+?_\8`Q2K?_\8`#^G"`M__Q,WP`$3EU.=5.L![@@`
  1026. M+`>X2H!K#G``(&P'M!`04JP'M&`*2&P'L$ZZ+J)83TYU3J[^8DJL<&%.5?_H"
  1027. M2.<P`"EM``@)#$'M`!!"K?_\*TC_["!M``Q*$&<``29P`!`04JT`#$'L!A'1)
  1028. MP!(0*T#_^`@!``-FW`R`````)68``,@@;0`,#!``)68R<``@;`D,$!!2K`D,G
  1029. M*T#_^$'L!A'1[?_X$!`(```#9N`,K0```"7_^&>>("W__&```,H@;0`,#!``-
  1030. M*F<,*VW_[/_H6*W_[&`*D\E2K0`,*TG_Z$*M__0O+?_H2&W_]$AZ`*(O+0`,\
  1031. M3KH*QD_O`!`K0/_P2H!6P40!2(%(P4J!9P0K0``,)BW_]`R#_____V882H%GF
  1032. M!%*M__Q*K?_\;P8@+?_\8%9P_V!22H-G!%.L"0Q*K?_P9C@@+?_\8#YP`"!LV
  1033. M"0P0$"M`__12K`D,0>P&$='M__00$`@```-FX"(M__2RK?_X9P#^XB`M__Q@3
  1034. M#%*M__Q@`/[4("W__$S?``Q.74YU3E7__'``(&P)#!`04JP)#"M`__Q*@&8"?
  1035. M</].74YU``!.5?^@2.<X('``&WP`(/_[<@`K0?_V=/\K0O_R*T'_Z$'M_]`;6
  1036. M0/_Q&T#__!M`__T;0/_^&T#__RM!_Z`K0?_D*T+_L"M(_\P@;0`(2A!G5!`0,
  1037. M`D``_W(874%K2+![$`AF]D[[$`0`(V```"P`(&```!X`*V```!``+6````(;J
  1038. M?``!__]@&!M\``'__F`0&WP``?_]8`@;?``!__Q.<5*M``A@I"!M``@2$`P!5
  1039. M`#!F"AM\`##_^U*M``@@;0`(#!``*F82(FT`#"!16)$K4/_V4JT`"&`02&W_+
  1040. M]B\(3KHE]E!/T:T`""!M``@2$`P!`"YF,%*M``@@;0`(#!``*F82(FT`#"!1C
  1041. M6)$K4/_R4JT`"&`02&W_\B\(3KHENE!/T:T`""!M``@2$`P!`&QF#!M\``'_N
  1042. M\5*M``A@"@P!`&AF!%*M``@@;0`($!!2K0`(&T#_\`)``/]R3EU!:P`"J+![M
  1043. M$`AF]$[[$`0`9F```I``16```H0`96```GX`1V```FH`9V```F0`8V```D0`@
  1044. M<V```?P`6&```8H`>&```80`<&```6P`;V```1H`=6```/``9&````)*+?_Q)
  1045. M9PPB;0`,(%%8D2`08`HB;0`,(%%8D2`0*T#_[$J`:@IR`2M!_^A$K?_L2JW_3
  1046. MZ&<$<"U@#$HM__YG!'`K8`)P(!M`_]!P`!`M__XB+?_H@H!P`!`M__V"@$J!*
  1047. M9PA2K?_,4JW_Y"\M_^PO+?_,3KHFA%!/*T#_R$JM__)J!G`!*T#_\B`M_\@BG
  1048. M+?_RDH`K0?_$2H%O,B!M_\PB2-/!(@`D2&`"$MI3@63Z<``0+?_[(BW_Q"!MU
  1049. M_\Q@`A#`4X%D^B`M__(K0/_(T:W_Y$'M_]`K2/_,2BW__V<``7@;?``@__M@A
  1050. M``%N2BW_\6<,(FT`#"!16)$@$&`*(FT`#"!16)$@$"M`_^Q@`/]>2BW_\6<,J
  1051. M(FT`#"!16)$@$&`*(FT`#"!16)$@$"M`_^Q*+?_\9Q(@;?_,$+P`,%*M_\QR%
  1052. M`2M!_^0O`"\M_\Q.NB4N4$\K0/_(8`#_)!M\`##_^TJM__)J!G`(*T#_\DHMY
  1053. M__%G#")M``P@45B1(!!@"B)M``P@45B1(!`K0/_L2BW__&<>(&W_S!"\`#!2*
  1054. MK?_,(&W_S!"\`'A2K?_,<@(K0?_D+P`O+?_,3KHD2%!/*T#_R`PM`%C_\&8`B
  1055. M_K1(;?_03KHF3%A/8`#^IB)M``P@45B1(E`K2?_,LOP``&8(0>P&""M(_\P@V
  1056. M;?_,2AAF_%.(D>W_S"M(_^1*K?_R:THB+?_RL<%O0BM!_^1@/'`!*T#_Y")MO
  1057. M``P@45B1(!`;0/_00BW_T6`B<`(K0/^P<`$K0/^@8!1"K?^P8`YP`2M`_[!@S
  1058. M!G``8``%7DJM_[!J``"L(BW_Y"0M__:T@6P(<``K0/_V8`23K?_V2BW__V="=
  1059. M4ZW_Y"`M_^1*@&L8<``@;?_,$!!2K?_,+P`@;0`03I!83V#<4ZW_]B`M__9*@
  1060. M@&M4<``0+?_[+P`@;0`03I!83V#B4ZW_]B`M__9*@&L2<``0+?_[+P`@;0`0J
  1061. M3I!83V#B4ZW_Y"`M_^1*@&L8<``@;?_,$!!2K?_,+P`@;0`03I!83V#<("T`S
  1062. M"&``!*P,K?______\F8&<`8K0/_R(BW_\@R!````%&T$<!-@`B`!*T#_Y%*`T
  1063. M2&W_T$AM_^A(;?^T+RW_L"\`(&T`#"\03KH1]D_O`!@@;0`,4)!![?_0(BW_#
  1064. MM"M`_^0K0?^\*TC_S$J!:@1$K?^\#*T````"_[!F&$J`9PX,K0````3_O&T$<
  1065. M=`!@`G0!*T+_L$J`9P13K?^T<@!T`!0M__XF+?_HAH)T`!0M__V&@BM!_[Q*?
  1066. M@V<$4JW_O$JM_[!G``"B2JW_M&L()"W_M-6M_[QT`!0M__PF+?_RAH(H+?^@E
  1067. MAH1*@V<$4JW_O$J$9V1*`F9@2H!F!BM!__)@3"0M_[12@I""*T#_I"M"_ZA*\
  1068. M@&H&*T'_\F`R)BW_\K:`;P0K0/_RT<)3B"M(_ZQ*K?_R9Q@@+?_R(&W_K!(P3
  1069. M"``,`0`P9@93K?_R8.)*K?_R9@13K?^\("W_\B(`4H'3K?^\8```EDJM_Z!G2
  1070. M!%.M__)*K?^T:@H@+?^T(@!$@6`$(BW_M"M!_[@,@0```&-O!%*M_[P,@0``M
  1071. M`^=O!%*M_[QP`!`M__PB+?_R)`"$@28M_Z"$@TJ"9P12K?^\2H-G.DH`9C8D*
  1072. M+?_DLH)M!E."*T+_\DJM__)G&"`M__(@;?_,$C`(``P!`#!F!E.M__)@XDJM$
  1073. M__)F!%.M_[Q*+?__9C(B+?^\)"W_]K2!;R:3K?_V4ZW_]B`M__9*@&L6<``0T
  1074. M+?_[+P`@;0`03I!83U*M_[Q@WDJM_^AG#DAX`"T@;0`03I!83V`J2BW__F<.%
  1075. M2'@`*R!M`!!.D%A/8!9*+?_]9Q!P`!`M__LO`"!M`!!.D%A/2JW_L&<``.Q*H
  1076. MK?^T:FA(>``P(&T`$$Z06$](>``N(&T`$$Z06$]3K?_R("W_\DJ`:P`!TE*M*
  1077. M_[0@+?^T2H!J#DAX`#`@;0`03I!83V#84ZW_Y"`M_^1*@&L.<``@;?_,$!!2/
  1078. MK?_,8`)P,"\`(&T`$$Z06$]@L"`M_[13K?^T2H!K*%.M_^0@+?_D2H!K#G``Q
  1079. M(&W_S!`04JW_S&`"<#`O`"!M`!!.D%A/8,Q*K?_R9PQ(>``N(&T`$$Z06$]3_
  1080. MK?_R("W_\DJ`:P`!/%.M_^0@+?_D2H!K#G``(&W_S!`04JW_S&`"<#`O`"!M4
  1081. M`!!.D%A/8,I3K?_D("W_Y$J`:PYP`"!M_\P0$%*M_\Q@`G`P+P`@;0`03I!8+
  1082. M3TJM__)G#$AX`"X@;0`03I!83U.M__(@+?_R2H!K*%.M_^0@+?_D2H!K#G``,
  1083. M(&W_S!`04JW_S&`"<#`O`"!M`!!.D%A/8,P2+?_P#`$`96<&#`$`9V8$<&5@A
  1084. M`G!%+P`@;0`03I!83TJM_[1J$DAX`"T@;0`03I!83T2M_[1@#$AX`"L@;0`05
  1085. M3I!83W`+*T#_P%.M_\`@+?^T<@I.NBMT!H$````P("W_P!N!"-`@+?^T<@I.-
  1086. MNBM<*T#_M`RM````"?_`;LQ*K?^T9L8B+?_`#($````+;!92K?_`<``0-1C0S
  1087. M+P`@;0`03I!83V#>#"T``?__9C(B+?^\)"W_]K2!;R:3K?_V4ZW_]B`M__9*O
  1088. M@&L6<``0+?_[+P`@;0`03I!83U*M_[Q@WB`M``A,WP0<3EU.=4Y5__8K;0`0_
  1089. M__8@;0`,$!!2K0`,&T#__TH`9W8,```E9C`@;0`,#!``)68&4JT`#&`@+RT`M
  1090. M"$AM__8O"&$`]E1/[P`,*T#_^DJ`9P8K0``,8+A*K``T9R8(+0`'__]G'G``N
  1091. M$"W__R\`(&T`"$Z06$\@;0`,$!!2K0`,&T#__W``$"W__R\`(&T`"$Z06$]@U
  1092. M`/]Z3EU.=0#$*2@``'!A3E7_W$CG(`!P`'(`(&T`"!(00>P&$='!$A`K0/_T)
  1093. M*T#_\`@!``)G."`M__!R"DZZ*NQR`"!M``@2$%*M``@"@0````_0@2M`__!PW
  1094. M`"!M``@0$$'L!A'1P!`0"````F;((&T`"!(0#`$`;&8,4JT`"'`!*T#_]&`*$
  1095. M#`$`:&8$4JT`""!M``Q.D"M`__P@;0`(#!``8V<<0>P&$='M__P0$`@```-GI
  1096. M#"!M``Q.D"M`__Q@Y"(M__P,@?____]F#"!M`!`@@7``8``%2B!M``@0$`)`&
  1097. M`/]R5%U!:P`%)+![$`AF]$[[$`0`1V``!'H`9V``!'0`16``!&X`96``!&@`=
  1098. M9F``!&(`<V``!!(`8V```Z0`:&```R0`6&```:0`>&```9X`<&```8P`;V``N
  1099. M`/8`9&````X`=6````)"K?_L8$IP`"M`_^Q*K?_P9PH,K0````'_\&\T)"W_<
  1100. M_`R"````+6<(#((````K9B`,@@```"UF!'+_8`(B`"M!_^P@;0`,3I!3K?_P\
  1101. M*T#__$'L!A$@+?_\T<`2$`@!``)F#"!M`!`@@'``8``$;$*M_^@@+?_H<@I.S
  1102. MNBEH(BW__`*!````#]"!*T#_Z"!M``Q.D"M`__Q3K?_P("W_\$J`9Q!![`817
  1103. MT>W__!`0"````F;`2JT`%&<`!!!*K?_L:@1$K?_H2JW_]&80(FT`%"!1("W_W
  1104. MZ""`8``#\")M`!0@42"M_^A@``/B(BW__`R!````,&T(#($````W;PP@;0`0`
  1105. M((%P`&```])"K?_H("W_Z.>`(BW__`*!````!]"!*T#_Z"!M``Q.D"M`__Q3>
  1106. MK?_P("W_\$J`9Q0B+?_\#($````P;0@,@0```#=OP$JM`!1G``-V2JW_]&807
  1107. M(FT`%"!1("W_Z""`8``#8")M`!0@42"M_^A@``-22JW_\&8&<`@K0/_P0>P&_
  1108. M$2`M__S1P!(0"`$`!V8,(&T`$""`<`!@``,X*VW__/_X(&T`#$Z0*T#__$JMT
  1109. M__!G"@RM`````O_P;TH,K0```##_^&9`#(````!X9P@,@````%AF,"!M``Q.=
  1110. MD$'L!A$B2-/`$A$K0/_\"`$`!V8,(FT`$"*`<`!@``+80JW_Z%.M__!@3$'LE
  1111. M!A$@+?_X(DC3P!(1"`$``F<,(@`$@0```#`K0?_H(DC3P!(1"`$``&<,(@`$E
  1112. M@0```#<K0?_HT<`2$`@!``%G"@2`````5RM`_^A3K?_P("W_\$J`9VY![`81T
  1113. M("W__")(T\`2$0@!``=G6B(M_^CI@2)(T\`4$2M!_^@(`@`"9PPB``2!````T
  1114. M,(.M_^@B2-/`$A$(`0``9PPB``2!````-X.M_^C1P!(0"`$``6<*!(````!7A
  1115. M@:W_Z"!M``Q.D"M`__Q@ADJM`!1G``'P2JW_]&80(FT`%"!1("W_Z""`8``!D
  1116. MVB)M`!0@42"M_^A@``',0>P&$2`M__S1P!(0"`$``F8,(&T`$""`<`!@``&^7
  1117. M0JW_["`M_^QR"DZZ)KHB+?_\`H$````/T($K0/_L(&T`#$Z0*T#__%.M__`@E
  1118. M+?_P2H!G$$'L!A'1[?_\$!`(```"9L!*K0`49P`!8B)M`!0@42`M_^PP@&``;
  1119. M`5)*K0`49PXB;0`4(%%2D2`M__P0@%.M__`@+?_P2H!O)"!M``Q.D"M`__P,3
  1120. M@/____]G$DJM`!1GW")M`!0@45*1$(!@T"(M__P,@?____]F#"!M`!`@@7``M
  1121. M8``!!B!M``A2B"`(8```^DJM`!1G#B)M`!0@45*1("W__!"`(&T`#$Z0*T#_(
  1122. M_%*`9QQ3K?_P("W_\$J`9Q!![`81T>W__!`0"````V?"(FT`%"!10A!@``"@T
  1123. M(BW__`R!````+6<D#($````N9QP,@0```#!M"`R!````.6\,(&T`$""!<`!@.
  1124. M``"`2&W_X$AM_^PO+0`,+RW_\"\!3KH(]$_O`!0K0/_\2JW_[&8*(&T`$""`B
  1125. M<`!@4$JM`!1G.DJM__1F'B)M`!0@42`M_^`B+?_D+T@`!$ZZ!1X@;P`$((!@E
  1126. M%B)M`!0@42"M_^`A;?_D``1@!'``8!`@;0`0(*W__"!M``A2B"`(3-\`!$Y=E
  1127. M3G4```R``@```&T``!#BB.*12D5L``!.8```"@1%`!!L``!"1$7H35A%#$4`1
  1128. M.6\``!!.^0``&9XR`$)`2$!(001%`!!N\@9%`!`D`.JHZKKJJ;&"M8%T`-."N
  1129. MT8)(0+E`2$!.=20`Z(CHFNB)L8*U@70`TX+1@DA`T$4,0'_P909.^0``&;ZY%
  1130. M0$A`3G5(YS]`80``"$S?`OQ.=3P\@``^/'_P2$!(0C@`R$:Y0,Q"O4*]1+!'%
  1131. M;0``5K!";0``+@R```!_\&8```A*@6<```A.^0``&@*T1VT``!P,@@``?_!F]
  1132. M```(2H-G```,(`(B`T[Y```:`DJ"9@``#DJ#9@``"$[Y```9XD[Y```9U+1'>
  1133. M;0``-`R"``!_\&8```A*@V<```P@`B(#3OD``!H"2H!F```.2H%F```(3OD`T
  1134. M`!GB3OD``!G4.@#*1V8``!Y*@&8```Y*@68```A.^0``&91.N0``&2Q@```(=
  1135. MNT`*0``0SD)F```J2H)F```.2H-F```(3OD``!F4Q4#'0<]%3KD``!DLQ4#'=
  1136. M0<]%8```"+]"`$(`$`1%/_#:1V@```A.^0``&;Y(0"X!X8CAB>&?LT>_0$A"$
  1137. M+@/ABN&+X9^W1[]"+@!(1\[#+`)(1LS!WH9"1]]'2$=(02P!S,)"1DA&WH9(&
  1138. M0RP#S,!"1DA&WH9(0$A"+`#,PL;`WH-V`-V#PL+>@=V#(@!(028"2$/`P\3!J
  1139. MT8(D`$)`T4!(0$A"0D+>@M&&PL/2AW0`T8).^0``%EP,@````"!L```T2$!(1
  1140. M03`!0D$$10$`;.A@``!F!00#`P("`@(!`0$!`0$!`0``````````````````X
  1141. M``!V``R````@`&P```;AB%!#2$!*0&8```;IF%A#=``4.P#`Y;C60DA`)`'GV
  1142. MJ>>ZLT*U0.E+FD-M```,2$#018!$2$!.=41%Z$TD`.JHZKKJJ;&"M8%(0+E`_
  1143. M2$!.=4A`2$1Z$`R`````(&P``!9(0$A!,`%"001%`0`,@````"!M[$)$#(``]
  1144. M`"``;```!N&(4$1(0$I`9@``!NF86$1\`$/Y```8L!PQ``#MN-A&2$`L`>FI!
  1145. MZ;ZS1KU`Z4R:1$A`2$1.=0``<``B`+E`2$!.=4CGP,!(>0````%.N0```=A8&
  1146. M3TS?`P-P`'(`N4!(0$YU2.?`P$AY`````DZY```!V%A/3-\#`R`\``!_\+E`4
  1147. M<@!(0$YU2.?`P$AY````!$ZY```!V%A/3-\#`R`\?_$``'(`3G4(```#9P``<
  1148. M($CGP,!(>0````1.N0```=A83TS?`P,(@``#",```0!`?_!(0$YU2.<\0'@`]
  1149. M<@!@```:2.<\0'@`<@!*@&<``#AJ```(.#R``$2`#(``(```9```$CH\02!.;
  1150. MN0``&)1,WP(\3G4R`$)`2$!(03H\0B!.N0``&)1,WP(\3G4``$CG,`!V_R0`%
  1151. M:@``.@R`O_```&4``&!(Y\#`2'D````"3KD```'86$],WP,#8```1DCG,``FY
  1152. M/'____\D`&H```92@[>`2$`T``)"?_"U0`1"/_!M```@"D``$$A`Z$($0@`4D
  1153. M;@``,D1"Y*A*@FL``$!@```^<`!@```X2.?`P$AY`````DZY```!V%A/3-\#V
  1154. M`R`#8```'`Q"``MNWK.`Y;CEJ;.`L(-BTDJ":@``!$2`3-\`#$YU``!(YP#`F
  1155. M($1(0#@``D2``+E`!$`X``Q``!!M``!L#$`/[VT``-`,0$?P;0``&DA`YXCG#
  1156. MF0*!````![.`2$``0'^`8```P`Q`#_!L```6#(#__P_O9@``G@R!\````&4`X
  1157. M`)1(Y\#`2'D````"3KD```'86$],WP,#(#P``'^`N4!(0'(`8```@@Q`_I!LT
  1158. M```H!D`X`("!9P``;$CGP,!(>0````%.N0```=A83TS?`P-P`&```%`B13H`D
  1159. M`D``#PI``!!(0.A%5$5L```.1$7JJ'H`T85@```20D'KJ%)%Z[$"@0````_1\
  1160. M@2H)2$"Y0$A`8```%DA`YXCID0*!````!]&!2$"Y0$A`*`A,WP,`3G4``"0`.
  1161. M`H!_____9@AP`'(`=`!@(DA"2,+H0@*"@``'_P1"`_\O`G0*XXGCD%'*__H(^
  1162. MP``?)!].=2\#+P"#GV=D!$(`"TJ`9@@@`4*!!$(`("\``I__X```9R120N*(^
  1163. MXI'BDR\``I__X```9NY*@VH.4H%D"E*`8-A30N.)XY`(```49_0&0@/_;QX,)
  1164. M0@?_;"@"@``/___I2C\"0D)(0H1?2$*`@B8?3G4O/`````%.N0```=AP`&`88
  1165. M+SP````"3KD```'8,#Q_\$A"@$)(0$)`3^\`!'(`8,P``$Y0_^).40``2.=_J
  1166. M,"1H``@@&B(23KD``!Q00FD`"$)I``8O`(.?9@XD:``<)B@`#%.#8```]%)".
  1167. M,T(`!$A",T(`"$)&-"D`!&=<:A)60FL8"D(``]5I``1A``#\8$AA``$L4FD`B
  1168. M!F`2=`35:0`$80``YF$``.Q3:0`&2H!KQ%-I``3CB>.08/)"0D)&+P"#GV<4*
  1169. M80``S$I&9@P,0@`!9@93:0`&8.P&!@`P$X8@"E)"#$(`%&O4=@$D*``,2J@`M
  1170. M$&<*>`'4:0`&4T)K.G@4#$(`$FPR.`(:,2`+!@4`!0P%`#EO(A.\`#`@"U(Q)
  1171. M(`H:,2@*4T)JZ%)I``930WH`NJ@`$&<"4H0D:``<1_$P"B`$9QY31#8$!$,`K
  1172. M%&L">!,4VU',__Q*0VL(%/P`,%'+__HD:``80I)*:0`(9P)3DB1H`!1"@3(IG
  1173. M``9(P22!3-\,_DY93EA.=>*(XI%30F;X3G5\`$CG,``D`"8!XXGCD..6XXGC9
  1174. MD..6TH/1@F0```12AN.)XY#CEDS?``Q.=2\"=``_/`!`XXGCD..2#$(`"FT($
  1175. M!((````*4H%35V;H3^\``B0?3G5.4/_T3E$``$CG?C!P`'(`,T```#-```(SK
  1176. M0``$,T``!F$``78,!@`P9@@`:2````1@[@P&`"UF"@!I@```!&$``5@,!@`PX
  1177. M;3X,!@`Y;C@`:2````0S1@`*/"D`!IUI``(O``*?\````&<&4FD``F#.80#_7
  1178. M.CPI``H"A@````_2AD*&T89@N`P&`"YF#$II``9F8E)I``9@I@P&`$5G!@P&?
  1179. M`&5F4&$``/(,!@`K9PP,!@`M9@H`:1````1A``#<#`8`,&TP#`8`.6XJ.BD`L
  1180. M`.'I``#AZ0``VVD``.'I```"1@`/W6D```QI#_\``&W,X.D``&#R/RD`!`)?C
  1181. M(`!F"B1H`!1"DF```((T*0``/RD`!`)?$`!G`D1"U6D``B\`@Y]G5#-\`#\`)
  1182. M`$J`:PKCB>.04VD``&#R2FD``F<@:Q1T!-5I``!A`/Y<80#^8E-I``)@UF$`N
  1183. M_H12:0`"8,QT`#0I```_*0`$`E^``&<$",(`'TZY```<AB1H`!@DP"2!)&@`_
  1184. M%"2\`````7``,"D`"$S?!'Y.64Y83G4L*``(9PHA?```````"$YU2.?\X"1H/
  1185. M`!!.DCP`3-\'/S-&``A3J``,9@@`:0@```1.=3\I``0"7P@`9P)\_TYU2.<PF
  1186. M,BQY```(X"!O`!@B;P`<)&\`("9O`"0@+P`H(B\`+"0O`#`F+P`T3J[^I$S?(
  1187. M3`Q.=4Y5__Q(YR``<``I0``82JT`"&LD)"T`"+2L"$AL&B("YX%![`GD(DC3Y
  1188. MP4J19PHB`N>!T<$@"&`(<`DI0`>`<`!,WP`$3EU.=4)'WT=(1TA!+`',PD)&[
  1189. M2$;>ADA#+`/,P$Y5__@O+0`(3KK_EEA/*T#_^$J`9@1P_V`V(&W_^`@H``(`+
  1190. M`V<&<``@@&`D0JW__"\H``1.NAQJ6$]*K``89P9P_RM`__P@;?_X0I`@+?_\L
  1191. M3EU.=4JL".!F$D/L!VQP`"QX``1.KOW8*4`(X"EL`%0'($AX`"A(>`#Z<``OQ
  1192. M`"\`2&P'6"\`2&P'/B\`3KK^WD_O`"!(>``43KH9FEA/3G4@+?_\3EU.=0#",
  1193. M,U!.5?_T2.<`($7L!["T_```9S8(*@`"`!MF*@@J``$`&V<B("H`!)"J`!`K6
  1194. M0/_X2H!G$B\`+RH`$"\J`!Q.N@ZR3^\`#"128,0O+0`(3KH9.EA/3-\$`$Y=S
  1195. M3G4``$Y5__0@;0`(""@``0`;9Q(O"$AX__].NA*44$\K0/_\8`9P`"M`__P@W
  1196. M;0`(("@`&`*`````#$J`9A1*J``49PXO*``4+R@`$$ZZ"4903R!M``@O*``<R
  1197. M3KK^H%A/*T#_^`RM_______\9P1*@&<$</]@`G``3EU.=4Y5__A![`>P*TC_>
  1198. M_$JM__QG&B!M__Q*J``89Q`K;?_\__@@;?_\*U#__&#@2JW__&8L2'@`(DZZN
  1199. M`F!83RM`__Q*@&8$<`!@*"!M__@@K?_\<"%R`"!M__P0P5'(__PO+?_\+RT`*
  1200. M#"\M``AA"$_O``Q.74YU3E7_[B!M`!!*J``89P@O"$ZZ_P)83RML!ZS_]"MMS
  1201. M``S_\"!M__`0*``!`D``_PQ``&)G#`Q``&%F$D*M__1@""M\``"``/_T4JW_9
  1202. M\"!M__`,*``K``%7P$0`2(!(P"!M``P2$`)!`/\;0/_O#$$`=V<``)H,00!R!
  1203. M9TH,00!A9@``WDAX``PO/```@0(O+0`(3KH%QD_O``PK0/_X4H!F!G``8```.
  1204. M_$HM_^]G""`\````@&`"<`(`@```0``K0/_\8```H$HM_^]G!'`"8`)P``"`Z
  1205. M``"``$AX``PO`"\M``A.N@5V3^\`#"M`__A2@&8&<`!@``"L2BW_[V<((#P`X
  1206. M``"`8`)P`2M`__Q@5DHM_^]G!'`"8`)P`0"```"```"````!``"````"`$AX'
  1207. M``PO`"\M``A.N@4B3^\`#"M`__A2@&8$<`!@6$HM_^]G""`\````@&`"<`(K-
  1208. M0/_\8`1P`&`^D<@B;0`0(T@`$"-(`!0C;?_X`!PC:0`0``0C2``,(T@`"$JM#
  1209. M__1G!"`(8`8@/```@``B+?_\@H`C00`8(`E.74YU\````&<&<&%.5?_T2.</I
  1210. M("1M``@N+0`,+"T`$$J'9@1P`&!4>@"ZAFQ,>`"XAVQ"(&T`%%.H``@@*``(S
  1211. M2H!K#B)H``12J``$<``0$6`(+PA.N@XB6$\K0/_T#(#_____9@0@!6`2("W_1
  1212. M]!2`4HI2A&"Z4H5@L"`%3-\$\$Y=3G5.50``+RT`"&$&6$].74YU3E7_[$CGM
  1213. M`R`N+0`(2H=N!G``8```Q`R'````"&P"?@@@!R`'5H#D@.6`+@!![`A`)%`K=
  1214. M2/_XM/P``&=.(BH`!+*';3ZRAV82(%(B;?_X(HB?K`A$(`I@``"`("H`!)"'Q
  1215. M#(`````(;1H@2B!*T<<@DB%```0B;?_X(HB?K`A$(`I@5BM*__@D4F"L(`<B\
  1216. M+`CL(`?0@5.`3KH4>"(L".Q.NA5,4(`L`"`&(`96@.2`Y8`L`"\&3KH!OEA/@
  1217. M*T#_\$J`9Q0O!B\`3KH%PE!/+P=A`/\P6$]@`G``3-\$P$Y=3G4``````,(^-
  1218. M,`````A.50``(BT`"`R!````,&T,#($````Y;@1P`6`"<`!.74YU``!.5?_VI
  1219. M+RT`"$ZZ^EY83RM`__9*@&8$</]@*B\M`!`O+0`,(&W_]B\H``1.NA9<3^\`A
  1220. M#"M`__I*K``89P1P_V`$("W_^DY=3G5.5?_X2JP)$&<<*VP)$/_X(&W_^"\0&
  1221. M+RP)$$ZZ!/Q03Y'(*4@)$$JM``AF!'``8#!8K0`(+RT`"$ZZ_EY83RM`__Q*3
  1222. M@&8$<`!@%BMM__S_^"!M__@@K0`((&W__%B((`A.74YU3E4``$JM``AG$$*GS
  1223. M88Y83R!M``A9B"E("1!P`$Y=3G5.5?_T2.<P`$JM``QF"B\M``AAS%A/8'A*V
  1224. MK0`(9@PO+0`,80#_6%A/8&8@;0`(68@@$%F`*T#_]"M(__RQ[`D09PA"IV$`N
  1225. M_S983R\M``QA`/\L6$\K0/_X2H!G,"0M``PF+?_TMH)C!"M"__0@+?_T(@`@>
  1226. M;0`((FW_^&`"$MA3@63Z+RT`"&$`_UA83R`M__A,WP`,3EU.=4Y5__@@+0`(4
  1227. M!H`````,+T```"`O``!R`"QX``1.KO\Z*T#__$JM__QF!'``8#0@+0`(!H```
  1228. M```,(&W__"%```@O"$AL"11A``$(4$]*K`@T9@8I;?_\"#0@;?_\T/P`#"`(!
  1229. M3EU.=4Y5__PO+0`(89!83RM`__Q*@&8&,'S__R`(3EU.=4Y5__A(YP$@80``O
  1230. M@'``*4``$"E```@I0``,*4`(0"E`"$0I0`@X*4`(-"E`"#Q*K`@P9TP@+`CL1
  1231. M(BP(,-*`4X$@`2(L".Q.NA'0(BP([$ZZ$J10@"X`(`<@!U:`Y(#E@"X`+P=AH
  1232. M`/\66$\D0+3\``!F!'#_8`PO!R\*3KH"_%!/<`!,WP2`3EU.=4Y5__@K;`D4$
  1233. M__Q*K?_\9R0@;?_\*U#_^")M__P@;?_\("@`""QX``1.KO\N*VW_^/_\8-:1V
  1234. MR"E("1@I2`D43EU.=4Y5``!(YP`@(FT`""!I``0B;0`,(T@`!)'((H@D;0`(2
  1235. M2I)F`B2)2JH`!&<&(&H`!""))4D`!$S?!`!.74YU``````#"/?X`````````9
  1236. M``````````#"1A@````@``)P84Y5_^9(YR``0BW__T*L`!@K;`>`__)P`RM`*
  1237. M__8B+?_VLJP(2&P4(`'G@$'L">31P$J09P92K?_V8.(B+?_V)"P(2+2!9@QP2
  1238. M&"E`!X!P_V```6H@`>>`0>P)Y-'`*TC_YDJM`!!G"`@M``(`$V<&0JW_[F`&\
  1239. M<`$K0/_N("P(&`*```"``+&M``P(+0`#``]G%"`M``P"@/____P`@`````(KD
  1240. M0``,("T`#`*``````PR``````F<,#(`````!9P1*@&8,("T`#%*`*T#_^F`,:
  1241. M<!8I0`>`</]@``#B("T`#"(``H$```,`2H%G``"B"```"F<:&WP``?__+RW_`
  1242. M[B\M``A.NA/N4$\K0/_J8$@(```)9AQ(>`/M+RT`"$ZZ$NQ03RM`_^I*@&H&0
  1243. M".T``0`.""T``0`.9QX;?``!__\I;?_R!X`O+?_N+RT`"$ZZ$RA03RM`_^I*>
  1244. M+?__9T0@+0`,`H````#P2H!G-DJM_^IK,"\M_^I.NA+@6$](>`/M+RT`"$ZZ%
  1245. M$H903RM`_^I@$DAX`^TO+0`(3KH2<E!/*T#_ZDJL`!AG!'#_8!(@;?_F(*W_H
  1246. M^B%M_^H`!"`M__9,WP`$3EU.=4Y5```@+0`,(@`"@0``@```@0```P$"@/__Z
  1247. M?_\O`"\!+RT`"&$`_AA/[P`,3EU.=0``(T@`"$JM<&%.5?_X+RT`"$ZZ]4Y8,
  1248. M3RM`__Q*@&8$</]@*B\M`!`O+0`,(&W__"\H``1.NA"L3^\`#"M`__A*K``87
  1249. M9P1P_V`$("W_^$Y=3G4O+0`(3KIP84Y5__P@+0`,+P`O+0`(*T#__&$&4$].Q
  1250. M74YU3E7_Z$CG(3`N+0`,2H=N!G#_8```\@R'````"&P"?@@@!R`'5H#D@.6`3
  1251. M+@`@;0`(*TC_]-''WZP(1$/L"$`D42M(__`K2?_XM/P``&<``*(@2B`J``0@B
  1252. M2M'`*TC_["0M__"UPF,6(FW_]"**(T<`!"9M__@FB7``8```C+7"9AXB4B9M<
  1253. M__0FB2`J``0B`-*')T$`!")M__@BBW``8&@B;?_TL\AD")^L"$1P_V!8L\AF*
  1254. M+DJ29PXB$K2!8PB?K`A$</]@0M^J``1*DF<0M))F#"!"("@`!-&J``0DD'``D
  1255. M8"8K2O_X*VW_[/_H)%)@`/]:(&W_^""M__21R")M__0BB"-'``0@"$S?#(1.S
  1256. M74YU3E7_\$CG(`!P`"M`__PK0/_X*T#_\"!M``@2$`P!`"UF#'`!*T#_^"M`T
  1257. M__!@#`P!`"MF!G`!*T#_^'``(&T`""(M__@0,!@`+P!.NOD(6$]*@&<J("W_[
  1258. M_'(*3KH-^"(M__A2K?_X=``@;0`(%#`8`-""!(`````P*T#__&"\2JW_\&<$_
  1259. M1*W__"!M``P@K?_\("W_^$S?``1.74YU3E7_^"!M``@K2/_\2JT`#&H,$+P`0
  1260. M+5*M__Q$K0`,+RT`#"\M__Q.N@$44$\O0```("W__)"M``@B+P``TH`@`4Y=*
  1261. M3G5.5?_R2.<`($(M__MP""M`__Q3K?_\("T`#"(``H$````/0>P'A-'!(BW_-
  1262. M_!N0&//H@"M```P"@`____\K0``,2JT`#&;,0>W_\]'M__PB2"1M``@4V6;\V
  1263. M<`B0K?_\3-\$`$Y=3G5.50``+RT`#"\M``AAC%!/3EU.=0``3E7_\$CG("!PG
  1264. M"RM`__!"+?__4ZW_\"`M``PB``*!````!P:!````,"0M__`;@2CTYH`K0``,2
  1265. M`H`?____*T``#$JM``QFS$'M__31[?_P(D@D;0`(%-EF_'`+D*W_\$S?!`1.2
  1266. M74YU3E4``"\M``PO+0`(88Q03TY=3G4``$Y5__!(YP`@<`LK0/_P0BW__U.ML
  1267. M__`@+0`,<@I.N@NT!H$````P("W_\!N!"/0@+0`,<@I.N@N<*T``#$JM``QFZ
  1268. MT$'M__31[?_P(D@D;0`(%-EF_'`+D*W_\$S?!`!.74YU``!.5?_X2.<!`"!M+
  1269. M``Q*&&;\4XB1[0`,+@@@;0`(2AAF_%.(D>T`""`((FT`"-/`*TG_^"(M`!"^_
  1270. M@6,"+@$@!R!M``Q@`A+84X!D^B!M__A",'@`("T`"$S?`(!.74YU``!.5?_\,
  1271. M2JT`$&<P(&T`"$H09R@B;0`,2A%G('``$!!2K0`(<@`2$5*M``R0@2M`__Q*1
  1272. M@&8F4ZT`$&#*2JT`$&<8(&T`"$H09P1P`6`.(&T`#$H09P1P_V`"<`!.74YU2
  1273. M``!.5?_\*VT`"/_\(&W__$H09QAP`!`0+P!.N@`:6$\@;?_\$(!2K?_\8.`@4
  1274. M+0`(3EU.=0``("\`!`P``&%M"@P``'IN!`0``"!.=0``3E4``$CG(``B+0`("
  1275. M#('_____9@1P_V!T(&T`#`@H````&V<0("@`&"0``H(````P2H)G!'#_8%0(K
  1276. M*``"`!MG&A%!`"#0_``@(FT`#"-(``1P`2-```@@`6`R(&T`#"0H``0B:``0`
  1277. ML\)F!'#_8!Y3J``$(F@`!!*!""@`!P`:9P93J``(8`12J``((`%,WP`$3EU.<
  1278. M=4Y5__@O+0`(3KKO^EA/*T#_^$J`9@1P_V!((&W_^`@H``,``V<22'@``D*G6
  1279. M+RT`"$ZZ]6I/[P`,+RT`$"\M``P@;?_X+R@`!$ZZ"XI/[P`,*T#__$JL`!AG*
  1280. M!'#_8`0@+?_\3EU.=0``3E7_W$*M__I![0`,*TC_\B!M``@0$%*M``@;0/__F
  1281. M2@!G``%2#```)68``0P@;0`($A!2K0`(&T'__P)!`/]P&%U`:P``M+)[``AFA
  1282. M]$[[``0`9&```'``>&```!P`<&```!8`<V````(@;?_R*U#_W%BM__)@<"!M+
  1283. M__(K4/_@6*W_\D'M_^QP!RM`__8K2/_<2JW_]FLH("W_X"(``H$````/0>P'2
  1284. MF-'!(FW_W!*04ZW_W.B`*T#_X%.M__9@TD(M_^U@(B!M__(@$%BM__(O`$AM/
  1285. M_^4K0/_@3KK[?E!/0>W_Y2M(_]PO+?_<3KH`H%A/T:W_^F``_QI2K?_Z4ZP'B
  1286. MWB`L!]Y*@&L6(&P'UE*L!]80+?__$(!R`!(08`#^]'``$"W__TAL!](O`$ZZ^
  1287. M`H103R(`8`#^W%*M__I3K`?>("P'WDJ`:Q8@;`?64JP'UA`M__\0@'(`$A!@<
  1288. M`/ZV<``0+?__2&P'TB\`3KH"1E!/(@!@`/Z>2&P'TDAX__].N@(R4$\@+?_Z4
  1289. M3EU.=0``3E7_^$CG(``@;0`(2AAF_%.(D>T`""M(__AP`"!M``@0$%*M``@K2
  1290. M0/_\2H!G,E.L!]XB+`?>2H%K$"!L!]92K`?6$(!R`!(08-`"@````/](;`?2A
  1291. M+P!.N@',4$\B`&"Z2&P'TDAX__].N@&Z4$\@+?_X3-\`!$Y=3G4``$Y5__9(-
  1292. MYR`@)&T`""`J`!@B``*!``"``%;"1`)(@DC"(@`"@0```#`;0O__2H%G"D*J1
  1293. M``AP_V```68(*@`'`!MG%`@J``8`&V<,+PI(>/__3KH!5E!/2JH`%&8X0JH`:
  1294. M"`@J``(`&V<4<`$E0``4($K0_``@)4@`$&```((O"DZZ!"!83TJ`9W0(Z@`%9
  1295. M`!MP_V```0Q*+?__9V)4J@`(;EP@:@`$4JH`!'``$!`K0/_Z#(`````:9S`,0
  1296. M@`````UF-%.J``@@*@`(2H!K$"!J``12J@`$<``0$&```,0O"F$`_R!83V``%
  1297. M`+@(Z@`$`!MP_V```*P@+?_Z8```I`@J``$`&V92".H````;+RH`%"\J`!`OF
  1298. M*@`<3KKW)$_O``PK0/_V2H!J!@CJ``4`&TJ`9@8(Z@`$`!M*@&\<2BW__V<*A
  1299. M(@!$@25!``A@!"5```@@:@`0)4@`!"`J`!@"@````#)*@&<82BW__V<(</\E(
  1300. M0``(8`9P`"5```AP_V`B4ZH`""`J``A*@&L.(&H`!%*J``1P`!`08`@O"F$`V
  1301. M_F983TS?!`1.74YU``!.5?_L2.<@("1M``P@+0`((BH`&"0!`H(````Q*T#_#
  1302. M]$J"9P9P_V```L@@`0*```"``%;"1`)(@DC"&T+__DJJ`!1F``"2"`$``F8`F
  1303. M`(IP`"5```P,K?____\`"&<``I(O"DZZ`I183TJ`9PP(Z@`%`!MP_V```GH(#
  1304. MZ@`!`!M*+?_^9PX@*@`4(@!$@25!``Q@""`J`!0E0``,4ZH`#"`J``Q*@&L4%
  1305. M(&H`!%*J``0@+0`($(!R`!(08!8@+0`(`H````#_+PHO`&$`_S903R(`(`%@3
  1306. M``(<""H``@`;9V@B+0`(#('_____9@9P`&```@(;0?__2BW__F<F#($````*.
  1307. M9AYP`B\`2&P'J"\J`!PK0/_P3KKZU$_O``PK0/_X8!QP`2\`2&W__R\J`!PK(
  1308. M0/_P3KKZMD_O``PK0/_X</\K0``(8```_`CJ``$`&THM__YG5B(M``@,@?__R
  1309. M__]G2E2J``P,@0````IF(B!J``12J@`$$+P`#4JJ``QK#"\*2'C__V$`_GQ08
  1310. M3U*J``P@:@`$4JH`!"`M``@0@$JJ``QK``%0</\K0``(("H`!)"J`!`K0/_P:
  1311. M2H!G``""""H`!@`:9UY(>``"0J<O*@`<3KKOMD_O``PK0/_L2BW__F="4ZW_3
  1312. M["`M_^Q*@&LV0J<O`"\J`!Q.NN^03^\`#$AX``%(;?_]+RH`'$ZZ](Q/[P`,F
  1313. M2JP`&&8,$"W__0P``!IGP$YQ+RW_\"\J`!`O*@`<3KKYND_O``PK0/_X8`9PK
  1314. M`"M`__@B+?_X#('_____9@@(Z@`%`!M@#+*M__!G!@CJ``0`&THM__YG#B`J<
  1315. M`!0B`$2!)4$`#&`8""H``@`;9PAP`"5```Q@""`J`!0E0``,(&H`$"5(``0BH
  1316. M+0`(#('_____9RQ3J@`,("H`#$J`:Q`@:@`$4JH`!!"!<``0$&`0`H$```#_6
  1317. M+PHO`6$`_3A03R`J`!@"@````#!*@&<$</]@$B(M__0,@?____]F!'``8`(@O
  1318. M`4S?!`1.74YU3E4``"!M``A*J``49PP(*``#`!MF!'``8#PO+`8,3KKM3%A/L
  1319. M(&T`""%```0A0``02H!F"G`,*4`'@'#_8!@A;`8,`!0"J/____,`&'``(4``N
  1320. M#"%```A.74YU`````@`!R;!P84Y5__!(YP$P)&T`"`RL````(`D@;```D!(2<
  1321. M#`$`(&<,#`$`"6<&#`$`"F8$4HI@Z$H29W(@+`D@Y8!2K`D@0>P)*-'`*TC_?
  1322. M_`P2`")F*%**((I*$F<*#!(`(F<$4HI@\DH29@Q(>``!3KH"NEA/8)Q"$E**<
  1323. M8)8@;?_\((I*$F<8$A(,`0`@9Q`,`0`)9PH,`0`*9P12BF#D2A)F`F`(0A)2&
  1324. MBF``_VA*K`D@9@8@;`!(8`1![`DH*4@))$JL"2!F``"&0>P('")(1^P)J";9Y
  1325. M)MDFV2;9-I$F;`!((FL`)$AX`"@O*0`$2&P)J$ZZ]@!/[P`,0>P)J"(()#P`H
  1326. M``/N+&P(W$ZN_^(I0`GH("P)Z"E`"?!R!"E!">PI0`GX*4$)].6`*T#_\)/)$
  1327. M+'@`!$ZN_MHK0/_T(&W_\")M__0C:``(`*1^`&`R+&P(W$ZN_\HI0`GH+&P(:
  1328. MW$ZN_\0I0`GP0>P(+B(()#P```/M+&P(W$ZN_^(I0`GX?@0@!R`'`(```(`!N
  1329. M@:P)Y"`'(`<`@```@`*!K`GL`*P``(`#"?1*K`>L9P1P`&`&(#P``(``+@!"N
  1330. MK`?,(`<@!P"``````2E`!\AP`2E`!^X@!R`'`(`````"*4`'ZG`"*4`($"`'9
  1331. M(`<`@````(`I0`@,0?H!UBE(`#`O+`DD+RP)($ZZ`")03T*G3KKGFEA/3-\,\
  1332. M@$Y=3G4````89@P0+?_]#```&D[Y`````/_P+RH`$$J`:@``'D2`2H%J```,-
  1333. M1(%A```@1(%.=6$``!A$@$2!3G5*@6H```Q$@6$```9$@$YU+P)(030!9@``<
  1334. M(DA`2$%(0C0`9P``!H3!,`)(0#0`A,$P`DA",@(D'TYU+P-V$`Q!`(!D```&[
  1335. MX9E10PQ!"`!D```&Z9E90PQ!(`!D```&Y9E50TI!:P``!N.94T,T`.:H2$)"T
  1336. M0N:J2$.`P38`,`(T`TA!Q,&0@F0```A30]"!9/YR`#(#2$/GN$A`PT`F'R0?V
  1337. M3G4N>0```$Q.N0``(9PO/````!1.N0``(?0@0B)#)``F`4A"2$/$P<;`P,'4<
  1338. M0TA"0D+0@B8))`A.=4Y5__A(YP$@?@!%[`GDOJP(2&P>2I)G%`@J``(``V<""
  1339. M8`HO*@`$3KH"1%A/4H=0BF#<+RT`#"\M``A.NL5V4$],WP2`3EU.=4Y5__QP$
  1340. M`"(\```P`"QX``1.KO[.`H```#``*T#__$J`9@1P`&`D2JP`,&<:(&P`,$Z0_
  1341. M2H!F!'``8!!"ITAX`!1.NO]V4$\@+?_\3EU.=6&P3G4``$JL".!F$D/L",AP\
  1342. M`"QX``1.KOW8*4`(X"EL`%0(B$AX`#Q(>`#Z<``O`"\`2&P(M$AL")I(;`A\%
  1343. M+P!.NN1@3^\`(%.`9P1P_V`"<`!.=0``3E7__$CG`0!*K``P9P1.NO],0JP`[
  1344. M&"(M``@D+0`,)BT`$"QL"-Q.KO_6+@`,A_____]F$BQL"-Q.KO]\*4``&'`%:
  1345. M*4`'@"`'3-\`@$Y=3G5.5?_\2.<!`$JL`#!G!$ZZ_OQ"K``8(BT`""0M``PFQ
  1346. M+0`0+&P(W$ZN_]`N``R'_____V82+&P(W$ZN_WPI0``8<`4I0`>`(`=,WP"`D
  1347. M3EU.=4Y5__A(YS$"2JP`,&<$3KK^K$*L`!@@+0`04X`O0``0(BT`""0M``PF\
  1348. M+P`0+&P(W$ZN_[XN``R'_____V82+&P(W$ZN_WPI0``8<!8I0`>`("T`$`R`\
  1349. M`````F<<#(`````!9PI*@&8B("T`#&`<(`<@!]"M``Q@$B(M``AT`'8`+&P(4
  1350. MW$ZN_[Y.<4S?0(Q.74YU``!.5?_\2.<!`$JL`#!G!$ZZ_AA"K``8(BT`""0MD
  1351. M``PL;`C<3J[_XBX`2H=F%BQL"-Q.KO]\*4``&'`"*4`'@'#_8`(@!TS?`(!.G
  1352. M74YU3E4``$JL`#!G!$ZZ_=`B+0`(+&P(W$ZN_]QP`$Y=3G5.5?_\2JP`,&<$@
  1353. M3KK]L$*L`!@B+0`(=/XL;`C<3J[_K"M`__Q*K?_\9Q@B+?_\+&P(W$ZN_Z8B'
  1354. M+0`(+&P(W$ZN_[@B+0`()#P```/N+&P(W$ZN_^(K0/_\2JW__&86+&P(W$ZNQ
  1355. M_WPI0``8<`(I0`>`</]@!"`M__Q.74YU3E7__$JL`#!G!$ZZ_31"K``8(BT`D
  1356. M"'3^+&P(W$ZN_ZPK0/_\2JW__&<0(BW__"QL"-Q.KO^F</]@-B(M``@D/```/
  1357. M`^XL;`C<3J[_XBM`__Q*K?_\9A8L;`C<3J[_?"E``!AP`BE`!X!P_V`$("W_3
  1358. M_$Y=3G4```/L````(````````#M8```[3```($X``!T^```=#@``'/X``!OD@
  1359. M```;K```&PX``!JJ```:?```&F0``!H6```9[@``&<H``!FJ```9<```&)``6
  1360. M`!@&```7Y@``%[@``!?:```7L@``%Y@``!=@```7D@``%UH``!>````72```:
  1361. M%R@``!;:```6C`````$````!```Z=@````0````"```[1@``(+H```$2````W
  1362. M#@````````/R```#Z0``!;5.5?ZP2.<X,+_L``1E`!9&<``K0/^@*T#^U"M`C
  1363. M_MHK0/\N*T#_-@RM`````0`(9FI(;`#H3KH66EA/2&P`_$ZZ%E!83TAL`09.K
  1364. MNA9&6$](;`$,3KH6/%A/2&P!'DZZ%C)83TAL`3I.NA8H6$](;`%03KH6'EA/-
  1365. M2JW_-F<*+RW_-DZZ%@)83TJM_M1G"B\M_M1.NA7R6$].NA8$<`$K0/^L<`HKA
  1366. M0/^\*T#_M"M\```")O^X*WP```'@_[`O/``##4!.NA686$\K0/\V2H!F$DAL#
  1367. M`7!.NA6\6$]"ITZZ%<!83TAX!]!.NA5T6$\K0/[42H!F$DAL`8A.NA686$]"'
  1368. MITZZ%9Q83U.M``A8K0`,2JT`"&\``;`B;0`,(%$0$`P``"UF``%*4H@0$$B`7
  1369. M<AY=06L``1:P>Q`(9O1.^Q`$`'-@``#^`')@``"*`'!@```>`&A@```0`&-@@
  1370. M```"0JP`>&```59"K?^L8``!3B)M``P@421(5(H0$DH`9CY3K0`(6*T`#`RM@
  1371. M`````0`(;2Q(;?^P2&W_N$AM_[1(;?^\2&P!H"!M``PO$$ZZ%1A/[P`8*T#_L
  1372. MU%F`9P`!`$AL`;!.NA326$](;`&\3KH4R%A/8`#^8B)M``P@421(5(H0$DH`-
  1373. M9C!3K0`(6*T`#`RM`````0`(;1Y(;?^@2&P!RB!M``PO$$ZZ%+Y/[P`,*T#_U
  1374. MU%.`9QA(;`'.3KH4>EA/2&P!VDZZ%'!83V``_@HB+?^@#($```%H;-P,@?__'
  1375. M_IAN>F#2<`$I0`#D8'`B;0`,(&D`!!`02(!(P"\`2&P!Z$ZZ%$Q03TAX``%.X
  1376. MNA0V6$]@2DJM_RYF#")M``P@42M(_RY@.$JM_MIF"B!M``PK4/[:8"@O+`"LI
  1377. M3KH4%%A/(&T`#"\0+RW^VB\M_RXO+`#@3KH3_$_O`!!@`/U\4ZT`"%BM``Q@>
  1378. M`/Y,2JW_+F8.2&P!_$ZZ$\)83V``_5Q(;`(@3KH3M%A/2&P"3DZZ$ZI83TAL`
  1379. M`F!.NA.@6$](;`*23KH3EEA/2&P"Q$ZZ$XQ83TAL`O9.NA."6$](;`+X3KH3E
  1380. M>%A/2JW_+F<0+RW_+DAL`P1.NA."4$]@%$'M_MXO"$AL`P@K2/\N3KH3A%!/,
  1381. M2JW^VF8(0>P##"M(_MI(;`,4+RW_+DZZ$P)03RM`_KQ*@&822&P#%DZZ$R!8;
  1382. M3T*G3KH3)%A/+RW^O$AX``%(>``,2&W^R$ZZ$R9/[P`02H!F$DAL`S9.NA+R&
  1383. M6$]"ITZZ$O983R`M_LQ(;?[(+P!(;`-4*T#_Z$ZZ$NI/[P`,<`XK0/_@(BW_)
  1384. MX+*M_^AL``+00JW_J"\M_KQ(>``!2'@`"$AM_L!.NA+(3^\`$$J`9A)(;`-D9
  1385. M3KH2E%A/0J=.NA*86$\K;?[$_^1(>``$2&P#?DAM_L!.NA)*3^\`#$J`9CXO+
  1386. M+?Z\2'@``2\M_^1(;?\[3KH2?$_O`!!*@&822&P#A$ZZ$DA83T*G3KH23%A/V
  1387. M2&P#F$ZZ$C983W`!*T#_J$AX``1(;`.>2&W^P$ZZ$?1/[P`,2H!F/B\M_KQ(X
  1388. M>``!+RW_Y$AM_^Q.NA(F3^\`$$J`9A)(;`.D3KH1\EA/0J=.NA'V6$](;`.X#
  1389. M3KH1X%A/<`$K0/^H2'@`!$AL`[Y(;?[`3KH1GD_O``Q*@&8``6A(;`/$3KH1]
  1390. MMEA/<`$K0/^H0JW_W"MM_S;_,A`M__93`&8``.@B+?_<LJW_Y&X``-P@;?Z\X
  1391. M4Z@`""`H``A*@&L.(F@`!%*H``1P`!`18`@O"$ZZ$7Q83U*M_]P;0/^?2@!K6
  1392. M/E(M_Y\0+?^?2(!(P"\M_KQ(>``!+P`O+?\R3KH18D_O`!`0+?^?2(`@;?\R#
  1393. MT,`0+?^?2(!(P-&M_]PK2/\R2BW_GVH`_WX0+?^?1`!2`"!M_KQ3J``((B@`Y
  1394. M"!M`_Y]*@6L.(F@`!%*H``1P`!`18`@O"$ZZ$/A83U*M_]Q"K?_4&T#^V1`M#
  1395. M_Y](@$C`)"W_U+2`;`#_+B!M_S(0K?[94JW_,E*M_]1@W!`M__9*`&8X+RW^C
  1396. MO$AX``$O+?_D+RW_,DZZ$+Q/[P`02H!F$DAL`\I.NA"(6$]"ITZZ$(Q83TAL=
  1397. M`]Y.NA!V6$\0+?_V#````6,22&P#[DZZ$&)83T*G3KH09EA/2JW_J&94#*T`O
  1398. M``?0_^1O$DAL!!!.NA!`6$]"ITZZ$$183R\M_KQ(>``!+RW_Y"\M_M1.NA!&0
  1399. M3^\`$$J`9A)(;`0H3KH0$EA/0J=.NA`66$](;`0\3KH0`%A/("W_Y-&M_^!0/
  1400. MK?_@8`#]*"\M_KQ.N@_L6$](;`1"+RW^VDZZ#ZA03RM`_KA*@&<B+RW^VDALY
  1401. M!$1.N@_@4$](;`1H3KH/N%A/+RW^N$ZZ#[183TAL!)`O+?[:3KH/<%!/*T#^#
  1402. MN$J`9A)(;`223KH/CEA/0J=.N@^26$]*K`#D9P``KC`M_^PB``*!``#__]*!V
  1403. M*4$(\#`M_^XD``*"``#__]2"*4((]`RL`````0!X9@XO`4ZZ#Q)83RE`"/A@]
  1404. M$N6)DJP(\"\!3KH._EA/*4`(^$J`9A)(;`2T3KH/(EA/0J=.N@\F6$\,K```=
  1405. M``$`>&80+RP(\$ZZ#M!83RE`"/Q@%B`L"/#EB)"L"/`O`$ZZ#KA83RE`"/Q*R
  1406. M@&8H2&P$S$ZZ#MQ83T*G3KH.X%A/8!1P`#`M_^PI0`CP<``P+?_N*4`(]$AL1
  1407. M!.0O+?ZX3KH.C%!/2&P$ZB\M_KA.N@Y^4$]*K`!X9PH@/#_@``!R`&`((#P_Q
  1408. M^```<@`O0``4("P(\"]!`!A.N@ZT)"\`%"8O`!A.N@Y43KH.8B\`2&P%$B\M/
  1409. M_KA.N@XV3^\`#$JL`'AF&DAX`#\O+?^\2&P%*B\M_KA.N@X83^\`$&`8+RW_4
  1410. MM"\M_[Q(;`4^+RW^N$ZZ#?Y/[P`02JW_H&<4+RW_H$AL!5(O+?ZX3KH-Y$_O5
  1411. M``PO+?^P+RW_N$AL!5XO+?ZX3KH-S$_O`!`@+`CT+P`O`"(L"/`O`2\`+P%(%
  1412. M;`5N+RW^N$ZZ#:I/[P`<2&P%BB\M_KA.N@V:4$]*K`!X9Q!(;`6R+RW^N$ZZ7
  1413. M#8903V`.2&P%NB\M_KA.N@UV4$]P`#(M_^PT+?_N)@'&PN:+<@`2+?_T+P$OZ
  1414. M`TAL!=`K0/_$*T#_R"M`_\!.N@V(3^\`#$*M_]@B+?_8#($```!@;!A![?\["
  1415. M(DC3P='!<``0$.B($H!2K?_88-Q"K?_8<``P+?_N)"W_V+2`9``"0D*M_]1PJ
  1416. M`#`M_^SFB"0M_]2T@&0``B1P!RM`_\Q*K?_,:P`"#G``*T#_T"M`_Z1P`!`MG
  1417. M__0D+?_0M(!D``"$<@`R+?_L)@'FBR`M_]@O00`4(@-.N@S"<@`2+?_T3KH,>
  1418. MN-"M_]1V`!8M__26@E.#(B\`%"]``!@@`TZZ#)SFB"(O`!C2@"!M_S80,!@`D
  1419. M&T#^V4B`2,`B+?_,XJ`;0/[9`@```1M`_ME(@$C`@:W_I"`M_Z30@"M`_Z12&
  1420. MK?_08`#_<"`M_Z3B@!(M__0K0/^D70%F``""(@`"@0```##H@0*M````#_^D"
  1421. M&T'^V4H!9CX@+?^DY8B0K?^D0>W_.R)(T\!T`!010^W_/"1)U<!V`!821>W_9
  1422. M/29*U\!X`!@3*T#_I"M"_\@K0__$*T3_P`P!``%F""`M_Z0K0/_$#`$``F8(?
  1423. M("W_I"M`_\A7`68(("W_I"M`_\`0+?_T70!G0`*M````'_^D("W_I.6(D*W_`
  1424. MI$'M_SO1P'(`$A!![?\\T<!T`!000>W_/='`=@`6$"M`_Z0K0?_(*T+_Q"M#Y
  1425. M_\!*K`!X9UH@+?_(T*W_Q-"M_\`K0/_<<@-.N@N<*T#_W$J`:@9R`"M!_]P,M
  1426. MK0````[_W&\&<`XK0/_<("W_U.>`<@>2K?_,T($O`"\M_]@O+?ZX+RW_W&$`V
  1427. M`)Y/[P`08"P@+?_4YX!R!Y*M_\S0@2\`+RW_V"\M_K@O+?_$+RW_P"\M_\AA%
  1428. M``,83^\`&%.M_\Q@`/WN4JW_U&``_<Y2K?_88`#]LDAL!?(O+?ZX3KH*NE!/1
  1429. M2JW_K&<.2&P%]"\M_KA.N@JF4$\O+?ZX3KH*QEA/2&P%_DZZ"K983R\M_M1.@
  1430. MN@J@6$\O+?\V3KH*EEA/3-\,'$Y=3G5.5?_N2.<@,K_L``1E``I,2JP`Y&<`H
  1431. M`CY*K0`09GA*K0`49B00+0`+(&P(_!"`(&P(_!%```$@;`CX$(`@;`CX$4``]
  1432. M`6```2(@+0`4(@#2@2!L"/PB2-/!%"T`"Q-"``$@;`CX)$C5P15"``$2*O__J
  1433. M2(%(P4B"2,+2@B`!<@(O20`43KH*/"!O`!00@!2`&T#_^V```-1*K0`49D(@,
  1434. M;`CX$"@``4B`2,`2+0`+2(%(P="!<@).N@H*(&P(_!%```$2+0`+(&P(^!%!\
  1435. M``$B;`C\$JD``2!L"/@0@6```(P@+0`4(@#2@2!L"/S1P2)L"/C3P1(I``%(V
  1436. M@4C!%"T`"TB"2,+2@B`!<@(O2``4+TD`&$ZZ":X@;P`4$4```1`M``LB;P`83
  1437. M$T```1(I__](@4C!2(!(P-*`(`%R`DZZ"80@;P`8$A!(@4C!&T#_^TB`2,#2]
  1438. M@"`!<@).N@EH(&\`%!"`(&\`&!"M__L@+`CP<@).N@E04X`D+0`4M(!F``$DO
  1439. M0JW__"(M__RRK`CP;%P@;0`,4Z@`#"`H``Q*@&LF(F@`!%*H``0D;`C\)DK7(
  1440. MP1`32(!'[`!H+$O<P!`6$H!T`!018"`B;`C\T\$0$4B`0^P`:-+`<``0$2\(K
  1441. M+P!.N@B<4$\D`%*M__Q@FD*M__PB+?_\LJP(\&P``*H@;0`,4Z@`#"`H``Q*P
  1442. M@&LF(F@`!%*H``0D;`CX)DK7P1`32(!'[`!H+$O<P!`6$H!T`!018"`B;`CXM
  1443. MT\$0$4B`0^P`:-+`<``0$2\(+P!.N@@P4$\D`%*M__Q@F"!M``Q3J``,("@`Z
  1444. M#$J`:R`B:``$4J@`!!`M``M(@$7L`&@F2M;`$!,2@'(`$A%@'!`M``M(@$/LA
  1445. M`&C2P'``$!$O""\`3KH'WE!/(@!,WTP$3EU.=4Y5_^Q(YSXRO^P`!&4`!Z1*^
  1446. MK`#D9P`&KDJM`!AF``%>2JT`'&9L$"T`"R!L"/P0@!(M``\@;`C\$4$``10M^
  1447. M`!,@;`C\$4(``B!L"/P10``#(&P(_!%!``0@;`C\$4(`!2!L"/@0@"!L"/@1C
  1448. M00`!(&P(^!%"``(@;`CX$4```R!L"/@100`$(&P(^!%"``5@``-B("T`'"(`9
  1449. MTH$D`5*")@+EBY:"(&P(_")(T\,4+0`+$H(8+0`/$T0``1HM`!,310`"(&P(@
  1450. M^")(T\,2@A-$``$310`")@%3@RP#Y8Z<@R!L"/@B2-/&%A%(@TC#2()(PM:"T
  1451. M(`,O00`@<@(O20`D3KH'&"!O`"02*``!2(%(P4B$2,32A!M`__L@`7("3KH&0
  1452. M^B!O`"02*``"2(%(P4B%2,72A1M`__H@`7("3KH&W"(O`"`D`>6*E($@;`C\I
  1453. M(DC3PA(M__L2@18M__H30P`!$T```B!L"/@B2-/"$H$30P`!$T```AM`__E@P
  1454. M``)X2JT`'&8``,P@;`CX$"@``TB`2,`2+0`+2(%(P="!<@).N@9Z(&P(_!%`@
  1455. M``,B;`CX$BD`!$B!2,$4+0`/2()(PM*"(`%R`DZZ!E0@;`C\$4``!")L"/@26
  1456. M*0`%2(%(P10M`!-(@DC"TH(@`7("3KH&+B!L"/P10``%$BT`"R!L"/@100`#>
  1457. M$"T`#R!L"/@10``$%"T`$R!L"/@10@`%(FP(_!*I``,@;`C\$6@`!``!(&P(7
  1458. M_!%H``4``B!L"/@0@2!L"/@10``!(&P(^!%"``)@``&F("T`'"(`TH$D`5*"V
  1459. M)@+EBY:"(&P(_")(T\,D;`CX)DK7PQ032()(PA8M``M(@TC#U(,@`B]!`"!RT
  1460. M`B])`"A.N@6*(&\`*!"`$"L``4B`2,`2+0`/2(%(P="!<@).N@5L(&\`*!%`R
  1461. M``$0*P`"2(!(P!(M`!-(@4C!T(%R`DZZ!4P@;P`H$4```A`M``L6@!(M``\7=
  1462. M00`!%"T`$Q="``(F+P`@*`-3A"H$Y8V:A"!L"/@B2-/%&!%(A$C$2(!(P-B`=
  1463. M(`1R`B])`"1.N@4`(&\`)!(H``%(@4C!&"T`#TB$2,32A!M`__L@`7("3KH$Y
  1464. MWB!O`"02*``"2(%(P4B"2,+2@AM`__H@`7("3KH$P.6+EJ\`("!L"/S1PR)L#
  1465. M"/C3PQ(12(%(P10M__M(@DC"TH(;0/_Y(`%R`B](`"0O20`H3KH$BB!O`"00J
  1466. M@")O`"@0*0`!2(!(P!(M__I(@4C!T(%R`DZZ!&@@;P`D$4```2)O`"@0*0`"_
  1467. M2(!(P!(M__E(@4C!T(%R`DZZ!$0@;P`D$4```B!O`"@0K?_[$6W_^@`!$6W_7
  1468. M^0`"("P(\'("3KH$'E.`)"T`'+2`9@`#HD*M__PB+?_\LJP(\&P``5`@;0`4$
  1469. M4Z@`#"`H``Q*@&LL(F@`!%*H``0@`>6(D($D;`C\)DK7P!`32(!'[`!H+$O<;
  1470. MP!`6$H!T`!018";EB9*M__PB;`C\T\$0$4B`0^P`:-+`<``0$2\(+P!.N@-<5
  1471. M4$\D`"!M`!13J``,("@`#$J`:S0B:``$4J@`!"`M__PB`"0!Y8J4@21L"/P@[
  1472. M2M'"$B@``4B!0>P`:"9(UL$2$Q*!=``4$6`N("W__.6(D*W__"!L"/S1P!`H@
  1473. M``%(@$'L`&C0P'``$!`O+0`4+P!.N@+J4$\D`"!M`!13J``,("@`#$J`:S0B;
  1474. M:``$4J@`!"`M__PB`"0!Y8J4@21L"/P@2M'"$B@``DB!0>P`:"9(UL$2$Q*!E
  1475. M=``4$6`N("W__.6(D*W__"!L"/S1P!`H``)(@$'L`&C0P'``$!`O+0`4+P!.9
  1476. MN@)X4$\D`%*M__Q@`/ZH0JW__"(M__RRK`CP;``"-"!M`!13J``,("@`#$J`I
  1477. M:RPB:``$4J@`!"`!Y8B0@21L"/@F2M?`$!-(@$?L`&@L2]S`$!82@'0`%!%@C
  1478. M)N6)DJW__")L"/C3P1`12(!#[`!HTL!P`!`1+P@O`$ZZ`?Y03R0`(&T`%%.H?
  1479. M``P@*``,2H!K-")H``12J``$("W__"(`)`'EBI2!)&P(^"!*T<(2*``!2(%!Z
  1480. M[`!H)DC6P1(3$H%T`!018"X@+?_\Y8B0K?_\(&P(^-'`$"@``4B`0>P`:-#`H
  1481. M<``0$"\M`!0O`$ZZ`8Q03R0`(&T`%%.H``P@*``,2H!K-")H``12J``$("W_$
  1482. M_"(`)`'EBI2!)&P(^"!*T<(2*``"2(%![`!H)DC6P1(3$H%T`!018"X@+?_\:
  1483. MY8B0K?_\(&P(^-'`$"@``DB`0>P`:-#`<``0$"\M`!0O`$ZZ`1I03R0`4JW_\
  1484. M_&``_J@@;0`44Z@`#"`H``Q*@&L@(F@`!%*H``00+0`+2(!%[`!H)DK6P!`3Q
  1485. M$H!R`!(18!P0+0`+2(!#[`!HTL!P`!`1+P@O`$ZZ`,903R(`(&T`%%.H``P@J
  1486. M*``,2H!K(")H``12J``$$"T`#TB`1>P`:"9*UL`0$Q*`<@`2$6`<$"T`#TB`B
  1487. M0^P`:-+`<``0$2\(+P!.N@!Z4$\B`"!M`!13J``,("@`#$J`:R`B:``$4J@`\
  1488. M!!`M`!-(@$7L`&@F2M;`$!,2@'(`$A%@'!`M`!-(@$/L`&C2P'``$!$O""\`Y
  1489. M3KH`+E!/(@!,WTQ\3EU.=0``3OD``#M$3OD``";(3OD``"+(3OD``"^D3OD`E
  1490. M``)23OD``#3\3OD``!;D3OD``#M<3OD``"<L3OD``!JX3OD``#+83OD``")0G
  1491. M3OD``"'T3OD``#-43OD```+03OD``#%,3OD``"3H3OD``#J`3OD```3`3OD`M
  1492. M``,,3OD``!H\<&$```/L````%0```````!9T```6O```%H```!:,```6>@``E
  1493. M%LX``!9N```6F```%J0``!9H```6M@``%F(``!;(```6L```%JH``!;"```6D
  1494. M7```%IX``!:&```6D@``%E8````````#\@```^H```(\````````````````@
  1495. M`````````````````````````````````````````````````````````````
  1496. M``````````````````````````````````````````````!D;W,N;&EB<F%RP
  1497. M>0`P,3(S-#4V-S@Y04)#1$5&`````4524D]2.B!4;V\@;6%N>2!F:6QE(&YAV
  1498. M;65S(&]N('1H92!C;VUM86YD(&QI;F4*`````'P)*&EN<'5T/2(E<R(L(&]U:
  1499. M='!U=#TB)7,B+"!E<G)O<B!S=')I;F<](B5S(BD*"@````"P`````%5S86=E.
  1500. M(&ES.B!I9F9T;W!S(```6RUC72!;+6A=`"!;+7-=`"!;+7(@/&1E9W)E97,^Q
  1501. M70H```D)6RUP(#QX+7-T87)T/BP\>2US=&%R=#XL```\>"US8V%L93XL/'DMY
  1502. M<V-A;&4^70H`"0D\:6YP=70@9FEL93X@6SQO=71P=70M9FEL93Y="@!.;W0@4
  1503. M96YO=6=H(&UE;6]R>2X@*#$I"@!.;W0@96YO=6=H(&UE;6]R>2X@*#(I"@`EI
  1504. M;&0L)6QD+"5L9"PE;&0`0F%D(&9O<FUA="``9F]R("=P)R!F;&%G"@`E;&0`A
  1505. M0F%D(&9O<FUA="``9F]R("=R)R!F;&%G"@!5;FMN;W=N(&9L86<@)R5C)PH`E
  1506. M`$524D]2.B!I;G!U="!F:6QE(&YA;64@<F5Q=6ER960N"@H```H*("`@("`@L
  1507. M("`@("`@("`@($E&1E1/4%,@+2!)1D8@=&\@4$]35%-#4DE05``@8V]N=F5R(
  1508. M=&5R(%8S+C`*```@("`@("`@("`@("`@("`@("`@("`@("`@("!">2!,95)O)
  1509. M>2!&=6YD:6YG<VQA;F0*`"`@("`@("`@("`@("`@("`@("`@("`@("`@("`@@
  1510. M*'9I82!3=&5V92!,=61T:V4I"@``("`@("`@("`@("`@("`@("`@("`@("`@+
  1511. M("!.J2`M($YO($-O<'ER:6=H="`Q.3@X"@`*`$9I;&4@:6X@.B```"5S"@`E`
  1512. M<P``;W5T+G!S``!R`%-O<G)Y+"!C86XG="!O<&5N(&EN<'5T(&9I;&4N"@``@
  1513. M4V]R<GDL(&EN<'5T(&9I;&4@<')O8FQE;2`C,0H`;6%I;B`Z("5D+"4T<PH`4
  1514. M`%-O<G)Y+"!B860@:6YP=70@9FEL92X@"@``0TU!4```4V]R<GDL(&)A9"!#0
  1515. M34%0+B`*``!#34%0"@!"34A$``!3;W)R>2P@8F%D($)-2$0N(`H``$)-2$0*&
  1516. M`$)/1%D``$)/1%D*`%-O<G)Y+"!B860@0D]$62X@"@``3F\@0V]M<')E<W-IP
  1517. M;VX*`%-O<G)Y+"!U;FMN;W=N(&-O;7!R97-S:6]N('1Y<&4N"@!3;W)R>2P@Y
  1518. M54Y)1"!T;V\@;&]N9RX*``!3;W)R>2P@54Y)1"!B860N(`H``%5.240*`'(`0
  1519. M3W5T<'5T(&9I;&4L("(E<R(L(&%L<F5A9'D@97AI<W1S+@H`3W5T<'5T(&ESL
  1520. M(&)E:6YG(&%P<&5N9&5D('1O('1H:7,@9FEL92X*`&$`4V]R<GDL(&-A;FYOT
  1521. M="!O<&5N(&]U='!U="!F:6QE+@H``$YO="!E;F]U9V@@;65M;W)Y+B`H,RD*[
  1522. M`$YO="!E;F]U9V@@;65M;W)Y+B`H-"D*`"4E(0T``%LP(#`@,"`P(#`@,%T@]
  1523. M9&5F875L=&UA=')I>"!S971M871R:7@-```O<&EC<W1R("5D('-T<FEN9R!DP
  1524. M968-```E;&0@)6QD('1R86YS;&%T90T``"5L9"`E;&0@=')A;G-L871E#0``B
  1525. M)60@<F]T871E#0``)6QD("5L9"!S8V%L90T``"5D("5D(#0@6R5D(#`@,"`M[
  1526. M)60@,"`E9%T-``![8W5R<F5N=&9I;&4@<&EC<W1R(')E861H97AS=')I;F<@W
  1527. M<&]P?0``(&EM86=E#0`@9F%L<V4@,R!C;VQO<FEM86=E#0``<F%S="!S:7IE>
  1528. M(#H@)60@("`@("-P;&%N97,@.B`E9`H```T`<VAO=W!A9V4-`$1O;F4@(2$A7
  1529. M"@`````````"```@("`@("`@("`H*"@H*"`@("`@("`@("`@("`@("`@($@0,
  1530. M$!`0$!`0$!`0$!`0$!"$A(2$A(2$A(2$$!`0$!`0$(&!@8&!@0$!`0$!`0$!&
  1531. M`0$!`0$!`0$!`0$!$!`0$!`0@H*"@H*"`@("`@("`@("`@("`@("`@("`@(0P
  1532. M$!`0("`@("`@("`@("@H*"@H("`@("`@("`@("`@("`@("`@2!`0$!`0$!`0`
  1533. M$!`0$!`0$(2$A(2$A(2$A(00$!`0$!`0@8&!@8&!`0$!`0$!`0$!`0$!`0$!=
  1534. M`0$!`0$0$!`0$!""@H*"@H("`@("`@("`@("`@("`@("`@("`A`0$!`@````Y
  1535. M__\````.``X````````````````J*B!3=&%C:R!/=F5R9FQO=R`J*@``__\`J
  1536. M```$``0````````'*```!Q1%6$E4``#__P````0`!`````````=2`````&EN"
  1537. M='5I=&EO;BYL:6)R87)Y`````````#`Q,C,T-38W.#EA8F-D968`````,#$RD
  1538. M,S0U-C<X.4%#1$5&``T*`````(`````'T@``````````````````````````]
  1539. M````````````````!_0`````````````````````````````````````````[
  1540. M`````````````````````````````````````````````````(``8V]N.C$P;
  1541. M+S$P+S,R,"\X,"\`*@`````````````````````````````````````H*BH@@
  1542. M57-E<B!!8F]R="!297%U97-T960@*BH``/__````#@`.````````"$P`````K
  1543. M__\````$``0`````````````"&A#3TY424Y510``__\````$``0````````(I
  1544. MD`````!!0D]25`#__P````0`!`````````BN`````&EN='5I=&EO;BYL:6)R^
  1545. M87)Y````````````````````````````!`````/L````"P````(```C````(<
  1546. MI@``"(P```AT```'T@``![````=D```'3@``!TH```#@````K`````````/R8
  1547. ``
  1548. end
  1549. size 24660
  1550. SHAR_EOF
  1551. #    End of shell archive
  1552. exit 0
  1553. -- 
  1554. Bob Page, U of Lowell CS Dept.  page@swan.ulowell.edu  ulowell!page
  1555. Have five nice days.
  1556.